<th id="wu2k2"><s id="wu2k2"></s></th> <blockquote id="wu2k2"></blockquote>
  • <tr id="wu2k2"></tr>
  • <samp id="wu2k2"><tbody id="wu2k2"></tbody></samp><samp id="wu2k2"><tbody id="wu2k2"></tbody></samp>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    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 国产亚洲午夜高清国产拍精品 | 国产Av一区二区精品久久| 国产精品亚洲片在线观看不卡 | 久久久无码精品亚洲日韩蜜臀浪潮 | 动漫精品专区一区二区三区不卡| 国产精品视频男人的天堂| 国产乱码精品一品二品| 一区精品麻豆入口| 日本精品啪啪一区二区三区| 精品久久久久久久无码| 日韩精品系列产品| 嫩草影院久久国产精品| 久久精品国产精品亚洲下载| 黄大色黄美女精品大毛片| 国语自产精品视频在线看| 久久6这里只有精品| 久久久久久青草大香综合精品| 国产精品深夜福利免费观看| 国产精品精品自在线拍| 三上悠亚国产精品一区| 国产精品无码不卡一区二区三区| 国产精品伦理一二三区伦理| 国产精品视频在线观看| 久久精品日韩一区国产二区| 国产成人精品亚洲2020| 91热成人精品国产免费| 中文字幕精品一区影音先锋| 日韩精品无码熟人妻视频 | 2021最新国产成人精品视频| 无码久久精品国产亚洲Av影片| 久久精品国产99国产精偷| 国产麻豆一精品一AV一免费| 久夜色精品国产一区二区三区| 久久精品成人免费观看97| 国产精品日韩深夜福利久久 | 久久久久久夜精品精品免费啦| 久久精品94精品久久精品| 亚洲国产精品无码久久久秋霞2 | 亚洲精品无码不卡| 99久热只有精品视频免费观看17| 老司机午夜精品视频资源|