<sup id="m40ya"></sup>
  • 
    
  • <kbd id="m40ya"></kbd>
    <samp id="m40ya"></samp>
    <ul id="m40ya"></ul>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    java field

    文檔

    java field

    java在反射時候經常用到了Field類,利用Field類使用反射改變屬性值,可以用在修改配置文件上,如:import java.lang.reflect.Field。
    推薦度:
    導讀java在反射時候經常用到了Field類,利用Field類使用反射改變屬性值,可以用在修改配置文件上,如:import java.lang.reflect.Field。

    很多朋友都想知道java field怎么使用?下面就一起來了解一下吧~

    java在反射時候經常用到了 Field 類。

    首先,用到了一個bean類,源代碼如下:

    public?class?fieldDemoBean?{
    ????private?int?a;??
    ????public?int?b;??
    ????public?String?c;??
    ????public?String?d;???
    ????public?fieldDemoBean(int?a,?int?b,String?c,String?d)?{??
    ????????this.a?=?a;??
    ????????this.b?=?b;??
    ????????this.c?=?c;??
    ????????this.d?=?d;??
    ????}?
    }

    利用 Field 類 使用反射改變屬性值??梢杂迷谛薷呐渲梦募稀?/p>

    import?java.lang.reflect.Field;
    public?class?ReflectDemoTest?{
    //?這里說的Field都是?類?身上的,不是實例上的
    public?static?void?main(String[]?args)?throws?Exception?{
    fieldDemoBean?pt1?=?new?fieldDemoBean(3,?5,?"ba",?"ab");
    //?得到一個字段
    Field?fieldB?=?pt1.getClass().getField("b");?//?b?是變量名
    //?fieldB和pt1根本沒有什么關系,你看,是pt1.getClass(),是?字節碼?啊
    //?不是pt1對象身上的變量,而是類上的,要用它取某個對象上對應的值
    System.out.println(fieldB.get(pt1));?//?這才是5
    Field?fieldA?=?pt1.getClass().getDeclaredField("a");?//?這個管你公的私的,都拿來
    fieldA.setAccessible(true);//?添加訪問權限,才能訪問私有屬性,?不然會報錯
    System.out.println(fieldA.get(pt1));
    swapString(pt1);
    }
    //?  做一個實例將把一個類里所有String類型的字段里的值?b?變?a
    private?static?void?swapString(fieldDemoBean?pt1)
    throws?IllegalArgumentException,?IllegalAccessException?{
    //?get?all?fields
    Field[]?fields?=?pt1.getClass().getFields();
    for?(Field?field?:?fields)?{
    //?我說的是String?類型的字段,當然要選擇一下
    //?if(field.getType().equals(String.class))?{
    //?字節碼都是一份的,干什么用equals啊
    if?(field.getType()?==?String.class)?{
    String?oldValue?=?(String)?field.get(pt1);
    String?newValue?=?oldValue.replace('b',?'a');
    //?改?對象的字段
    field.set(pt1,?newValue);
    }
    }
    System.out.println(pt1.c);
    System.out.println(pt1.d);
    }
    }

    以上就是小編今天的分享,希望可以幫到大家。

    文檔

    java field

    java在反射時候經常用到了Field類,利用Field類使用反射改變屬性值,可以用在修改配置文件上,如:import java.lang.reflect.Field。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關推薦
    java field獲取值 java dockerfile java file.exists() java fileinputstream java findfirst java flatmap java dowhile java flink java drools java dto java dynamic java flume java ear java foreach循環 java fork java ecc加密 java formatter java echarts java ehcache java email java divide java feign java fastjson java dict java development java fastdfs java dev java dependency java調用asmx接口 java delete java獲取絕對值 java調用c++ java調用c++接口 java delegate java decodeuri java decode java調python java decaf java讀取本地excel java讀取json
    Top 久久99精品国产麻豆| 国内精品综合久久久40p| 久久香蕉超碰97国产精品| 免费精品国产自产拍观看| 91精品国产福利在线观看| 国产亚洲精品高清在线| 最新国产精品自在线观看| 青青青国产精品一区二区| 九色精品视频在线观看| 国产美女精品三级在线观看| 日本亚洲精品色婷婷在线影院 | 日韩精品在线播放| 国产精品久久久久天天影视| 久久精品日日躁精品| 国产精品天干天干在线综合| 精品国产免费观看| 国产香蕉免费精品视频| 无码精品久久久天天影视| 国内精品国产成人国产三级| 精品一区二区高清在线观看| 亚洲国产美女精品久久久 | 精品国产一区二区麻豆| 55夜色66夜色国产精品| 亚洲αv在线精品糸列| 久久国产香蕉一区精品 | 久クク成人精品中文字幕| 久久国产加勒比精品无码| 91视频国产精品| 国产美女精品视频| 国产成人亚洲精品蜜芽影院| 自拍偷自拍亚洲精品偷一| 亚洲首页国产精品丝袜| 91大神精品网站在线观看| 婷婷五月深深久久精品| 国产精品99精品久久免费| 亚洲精品乱码久久久久66| 91国内外精品自在线播放| 久久夜色撩人精品国产| 精品久久综合1区2区3区激情| 国产99精品一区二区三区免费| 国产亚洲精品美女久久久久久下载|