內省(個人筆記)

2022-09-11 12:42:16 字數 1739 閱讀 1950

什麼內省?

個人認為內省和反射有密不可分的關係,當你拿到某個類的時候,卻不知道該類具體有什麼的時候,可以通過內省來獲取該屬性。

student類:

1 package j**abean;

2 3 public class student

12 public void setname(string name)

15 public int getage()

18 public void setage(int age)

21 public string aderss()

24 @override

25 public string tostring()

28

29

30 }

student

測試類:

1 package j**abean;

2 3 import j**a.beans.beaninfo;

4 import j**a.beans.introspector;

5 import j**a.beans.propertydescriptor;

6 import j**a.lang.reflect.method;

7 import j**a.util.hashmap;

8 import j**a.util.map;

9 10 import org.apache.commons.beanutils.beanutils;

11 import org.junit.test;

12 13 public class testdemo

26

27 }

28 29 @test

30 public void test2() throws exception

40

41 }

42 @test

43 public void test3() throws exception

59 //內省的方式,前提是需要導包

60 @test

61 public void test4() throws exception

71 //反射和內省的實際效果,假設student 什麼也不知道

72 @test

73 public void test5() throws exception

83 //好,現在加入給你乙個map集合,要你吧集合中的值新增到student中去,該怎麼做?

84 mapmap =new hashmap();

85 map.put("key1", "張三");

86 map.put("key1", 13);

87 student s = new student();

88 //利用內省 炒雞簡單

89 beanutils.populate(s, map);

90 system.out.println(s);

91

92 }

93 }

testdemo

當使用j**abean時候需要導包:

ant 個人筆記

ant 命令想關屬性 buildfile file f 使用指定的構建檔案 projecthelp 獲得專案的資訊 ant構建檔案中想關屬性及用法 dir 資料夾路徑 fileset 檔案集 path 路徑 basedir 專案基目錄的絕對路徑,其他相對路徑都是由他解析而出的 depends inp...

Github 個人筆記

其實預設pull的操作就是乙個分支的merge操作 egit中預設的pull操作是fetch merge,如果要用rebase,可以分開操作。先執行fetch更新remote tracking,再執行rebase進行合併。或者修改pull的預設操作,在.git config檔案中配置.分布式版本控制...

JAVA個人筆記

時間 2015 12 15 目標 readresolve 記錄原因 深入學習單例模式的時候遇到 簡單了解 通過可序列化的工具,我們可以將乙個單例的例項物件寫到磁碟,然後再讀回來,從而有效地獲得乙個例項。即使建構函式是私有的,可序列化工具依然可以通過特殊的途徑去建立類的乙個新的例項。序列化操作提供了乙...