1. 程式人生 > >通過反射對常量類賦值/取值

通過反射對常量類賦值/取值

當常量類中常量很多,而我們有不確定對其中哪些常量賦值的情況下,比如一個接收es查詢返回的常量類。我們可能就需要反射來對常量賦值/取值

    private final Class<?> stockClass = this.getClass();



    public void setValue(Object data, String tag) {

        Field field;

        try {

            field = getStockClass().getDeclaredField(tag);

            field.setAccessible(true);

            field.set(this, data);

        } catch (NoSuchFieldException | SecurityException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        } catch (IllegalArgumentException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        } catch (IllegalAccessException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

    }



    /**   

     * @Title: getValue   

     * @Description: 任意取值

     * @param: @param tag

     * @param: @return      

     * @return: Object      

     * @throws   

     */

    public Object getValue(String tag) {

        Field field;

        Object result = null;

        try {

            field = getStockClass().getDeclaredField(tag);

            field.setAccessible(true);

            result = field.get(this);

        } catch (NoSuchFieldException | SecurityException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        } catch (IllegalArgumentException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        } catch (IllegalAccessException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        return result;

    }

——————————————————————————————————

作者:桃花惜春風

轉載請標明出處,原文地址:  

如果感覺本文對您有幫助,請留下您的贊,您的支援是我堅持寫作最大的動力,謝謝!

相關推薦

通過反射常量/

當常量類中常量很多,而我們有不確定對其中哪些常量賦值的情況下,比如一個接收es查詢返回的常量類。我們可能就需要反射來對常量賦值/取值     private final Class<?> stockClass = this.getClass();     

jquery錶單元素的

jquery對錶單元素的取值,賦值 //文字框 文字域 $("#text_id").val();//取值 $("#text_id").attr("value",'test');//賦值 //單選按鈕 $("input[type=radio]:checked").v

ASP.Net TextBox只讀時不能通過後臺

今天在開發一個asp.net的頁面遇到了TextBox設定了ReadOnly屬性,在js中賦值後,後臺程式碼取不到值的情況,經過在網上查詢,找到了一下幾個處理辦法。 收藏起來。 1、不設定ReadOnly,設定onfocus=this.blur() C#程式碼 <asp:TextBox ID="Te

利用發反射物件進行

public class Demo1 { public static Object getObejctParamater(String className,HashMap<String,String> map) throws ClassNotFoun

jQuery表單元素的操作

元素 Language details code name edi pre js xml ttr 好久沒用過jquery了,很多東西都陌生了,還是應該多練啊。 jQuery讀取input元素的值: 用戶名:<input type="text" name="usern

c# 通過反射動態為物件 通用方法

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Configuration; using System.Data; using

Java基礎筆記 – 通過反射機制修改中的私有屬性的

//建立一個類的物件 PrivateField privateField = new PrivateField(); //獲取物件的Class Class<?> classType = privateField.getClass(); //獲取指定名字的私有域 Field field = cla

關於juqeryhtml的lable標籤問題

JQuery 取 html 的 label標籤的值:$("#lable的id").text(); JQuery 給 html 的 label標籤賦值:$("#lable的di").html('賦值內容

Java byte 型的範圍是-128~127

com 基本數據類型 single static 數據 數據類型 blank tle -128 為什麽Java byte 類型的取值範圍是-128~127 : http://blog.163.com/[email protected]/blog/static/47

獲取mips32機器的各數據型的範圍

2個 ffffff 使用 數據類型 無符號 取值 oid 數據 格式化 一.背景: 使用的mips 32bit機器,32bit的vxworks操作系統(各機器帶來的範圍都不一樣,與操作系統也有關聯) 二.驗證類型的範圍: 2.1 unsigned long: void ma

mysql五種日期型的範圍

值範圍 字節 etime ear 取值 日期類型 times time sql YEAR ,字節數為1,取值範圍為“1901——2155”DATE,字節數為4,取值範圍為“1000-01-01——9999-12-31”TIME,字節數為3,取值範圍為“-838:59:59—

通過反射建立私有化的物件,呼叫的私有方法,改變私有屬性

首先建立一個類 public class ReflectDemo { private int m=0; //私有屬性 private ReflectDemo(){ //私有無參建構函式 } public ReflectDemo(int aa

KnockOut下拉選單

最近在做IE系列相容的專案,為了開發起來更方便(本人已厭倦了拼接字串)所以選了一款比較老的mvvm的框架KnockOut,雖然比較老但是五臟俱全 //首先說一下Select實現獲取介面返回資料賦值給Option,然後選擇條目獲取對應Value。 <div id="viewModel

【Winform】ComboBox

下面我以做的專案中的一部分來介紹ComboBox怎麼賦值和取值 目前有ComboBox,name=cboClass 一、ComboBox賦值 this.cboClass.DataSource = objStudentClassServic

jquery 選擇器 (父元素 子元素 eg:倒數第二個li加class|select

----------------------------------父元素---------------------------------------------------選擇id=sssj的  父元素中class為ssxx的父元素

jquery給div,Span, a ,button, radio

jquery給div的innerHTML賦值 $("#id").html()="test"; //或者 $("#id").html("test"); jquery 獲取<a>的連結內容 $().innerHTML jquery 給span 賦值 $(

VC++基礎知識——Edit的問題!

嚮導中關聯Edit控制元件變數最簡單.注意控制元件型別選control,然後UpdateData( );CString buf = m_strEdit;m_strEdit="your string";UpdateData(FALSE);這樣就可以將控制元件實際值與字串對應起來.

通過反射訪問任意的私有方法和屬性

 給出一個如下類: package test2; public class MathDemo {     private int m = 10;     private MathDemo(){     }     private int add(int a,i

Python 的切片操作以及 利用步長序列進行倒序

切片操作: 對於具有序列結構的資料來說,切片操作的方法是:consequence[start_index: end_index: step]。 start_index:表示是第一個元素物件,正索引位置預設為0;負索引位置預設為 -len(consequence) e

java通過反射+javassist獲得方法所有資訊(返回、方法名、引數型別列表、引數列表)

眾所周知,使用java的反射無法獲得方法引數名列表,只能獲得方法引數型別列表,在網上研究了一下,發現有下面兩種方式實現: 方案一:使用反射+javassit庫static void javassist