java反射屬性值
① java中如何通過反射獲取類的屬性
簡單的方法如下:
Class<?> cls=Class.forName(className);////////////////////////通過類的名稱反射類
Object obj=cls.newInstance();//////////////////////對象實例化
Field field=cls.getField(fieldName);/////這個對應的是屬性
fieldValue=field.get(obj);////這個就是屬性的值
② 關於java反射給屬性進行賦值的問題!
Field[] fields = per1.getClass().getFields();
這句只能取到聲明為public的屬性,而你的name,age都是使用默認的private屬性。
所以取出來的fields為空。
String newvalue = oldvalue.replaceAll("小紅", "小白");
這句代碼不知是不是你手誤了,不存在小紅,就不可能轉變為小白。
③ java反射取對象屬性值 不是通過get方法取值
反射不是通過get取值的,是通過該對象的信息,比如說名稱、內存地址等來訪問類,方法,屬性等,可以獲取任意對象的信息,但不能獲得私有屬性(private String s=「sd」;)的值,切記
推薦《JAVA核心技術》這本書會對你有幫助的
④ 如何通過java的反射 修改對象的屬性的值
Fieldfield=classType.getDeclaredField("username");
//設置壓制訪問類型檢查,只有這樣,才能獲取和設置某個具體類的Field對應的值。
field.setAccessible(true);
System.out.println(field.get(privateField));
//設置私有域的值
field.set(privateField,"arthinking");
System.out.println(field.get(privateField));
⑤ java怎樣通過反射機製取javabean的屬性值和方法
用hibernate逆向工程。在myeclipse中選擇myeclipse database Explorer 然後連接你的資料庫,然後選擇你要反射的表選擇hibernate reverse engineering就可以了。
⑥ java 反射類中屬性的屬性 高手賜教
yzgfbj 說的挺對的。看起來只有這一種辦法了。
總的來講,你現在的要求對str的定義是很不準確的,這在代碼中可能會出現意想不到的情況,比如:同時有兩個str定義怎麼辦?
class A
{
public B b1 ;
public B b2 ;
}
而且,你即使取出來B.str的FiledInfo,也仍然不好定位具體的對象,是採用A.b還是別的對象阿?
最後,建議這種處理還是要用規范的做法,或者採用已有的標准,如:OGNL,能解決你的很多問題而且語法更強。
⑦ java怎麼通過反射獲得所有的屬性的值
Class<?> clazz = ref.getClass();
Method method=clazz.getMethod("getLength");
System.out.println(method.invoke(ref));
⑧ java如何用反射給對象賦值
java用反射給對象賦值的方法:
主程序:
⑨ java怎麼通過反射得到屬性的類型
Class<?>cls=Class.forName(className);//通過類的名稱反射類
Objectobj=cls.newInstance();//對象實例化
Fieldfield=cls.getField(fieldName);//這個對應的是屬性
fieldValue=field.get(obj);//這個就是屬性的值