反射-通過反射寫一個通用的設定某個物件的某個屬性為指定的值
package cn.itcast.test;
import java.lang.reflect.Field;
public class Tool {
public void setProperty(Object obj, String propertyName, Object value)
throws NoSuchFieldException, SecurityException,
IllegalArgumentException, IllegalAccessException {
// 根據物件獲取位元組碼檔案物件
Class c = obj.getClass();
// 獲取該物件的propertyName成員變數
Field field = c.getDeclaredField(propertyName);
// 取消訪問檢查
field.setAccessible(true);
// 給物件的成員變數賦值為指定的值
field.set(obj, value);
}
}
package cn.itcast.test;
public class ToolDemo {
public static void main(String[] args) throws NoSuchFieldException,
SecurityException, IllegalArgumentException, IllegalAccessException {
Person p = new Person();
Tool t = new Tool();
t.setProperty(p, "name", "林青霞");
t.setProperty(p, "age", 27);
System.out.println(p);
System.out.println("-----------");
Dog d = new Dog();
t.setProperty(d, "sex", '雄');
t.setProperty(d, "price", 12.34f);
System.out.println(d);
}
}
class Dog {
char sex;
float price;
@Override
public String toString() {
return sex + "---" + price;
}
}
class Person {
private String name;
public int age;
@Override
public String toString() {
return name + "---" + age;
}
}
相關文章
- C#獲取某個物件的屬性值C#物件
- 獲取json串裡的某個屬性值JSON
- vue監聽input是否為空(監聽值為物件某個屬性)Vue物件
- 陣列物件按物件某個屬性排序陣列物件排序
- 論如何監聽物件某個屬性的變化物件
- `newtonsoft.json` 指定某個屬性使用特定的時間格式JSON
- JAVA裡List集合中的物件根據物件的某個屬性值降序或者升序排序Java物件排序
- 獲取母字串中某個子字串的某個確定的index值字串Index
- C#反射設定屬性值和獲取屬性值C#反射
- Js陣列物件的屬性值升序排序,並指定陣列中的某個物件移動到陣列的最前面JS陣列物件排序
- Javascript 如何判斷物件為空 {},以及是否包含某個屬性?JavaScript物件
- Go 通過反射的reflect設定實際變數的值Go反射變數
- js判斷物件裡面是否有某個屬性JS物件
- selenium 如何定位沒有某個屬性的元素
- PHP正規表示式抓取某個標籤的特定屬性值的方法PHP
- java lambda list集合中物件某屬性重複,只取第一個物件Java物件
- Java 判斷JSONObject是否包含含有某個屬性值(key)JavaJSONObject
- 如何檢查某個使用者是否具有某個許可權物件上定義的某種許可權物件
- 寫個方法判斷陣列物件中是否存在某個物件陣列物件
- java的兩個bean之間複製屬性,所有屬性中替換某幾個字元JavaBean字元
- 通過java反射,遞迴查詢物件所有屬性,為空也要返回欄位的結構Java反射遞迴物件
- Xcode設定自己的個性屬性XCode
- 按照NSArray內部的某個物件排序物件排序
- 透過反射對比兩個物件是否相等反射物件
- mongodb查詢資料庫中某個欄位中的值包含某個字串的方法MongoDB資料庫字串
- 逆向工程通過某個欄位排序排序
- 強制轉換檢視某個欄位為某個型別的sql型別SQL
- js 取陣列中某個物件的集合JS陣列物件
- 查詢固定條數的某個值之和
- vue 中 watch如何監聽陣列或物件中的某個值?Vue陣列物件
- 根據給定的字串,修改一個多層巢狀物件對應的屬性值字串巢狀物件
- Android--關閉某個指定activityAndroid
- JS如何判斷一個陣列是否為空、是否含有某個值JS陣列
- ElasticSearch 設定某個欄位不分詞Elasticsearch分詞
- 比較兩個物件是否相同,輸出不同的屬性值(一)物件
- MySQL 更新一個表裡的欄位等於另一個表某欄位的值MySql
- SQL2008查詢某資料庫中的某個值是否存在SQL資料庫
- lambda 表示式從集合中獲取某個欄位屬性的集合
- C#通過反射獲取類中的方法和引數個數,反射呼叫方法帶引數C#反射