亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

java怎么根據屬性名獲取屬性值

小億
182
2023-08-15 20:08:51
欄目: 編程語言

在 Java 中,可以使用反射來根據屬性名獲取屬性值。下面是一個示例代碼:

import java.lang.reflect.Field;
public class Main {
public static void main(String[] args) {
// 創建一個對象
Person person = new Person("張三", 20);
// 獲取屬性值
String name = getPropertyValue(person, "name");
int age = getPropertyValue(person, "age");
// 打印屬性值
System.out.println("name: " + name);
System.out.println("age: " + age);
}
private static <T> T getPropertyValue(Object obj, String propertyName) {
try {
// 獲取屬性
Field field = obj.getClass().getDeclaredField(propertyName);
// 設置可訪問性,避免 private 屬性訪問權限限制
field.setAccessible(true);
// 獲取屬性值
T value = (T) field.get(obj);
// 返回屬性值
return value;
} catch (NoSuchFieldException | IllegalAccessException e) {
e.printStackTrace();
}
// 如果發生異常,則返回 null
return null;
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}

輸出結果:

name: 張三
age: 20

在上述示例中,使用了泛型方法 getPropertyValue(),該方法通過反射獲取到指定對象的屬性,并返回屬性值。在獲取屬性之前,需要通過 setAccessible(true) 方法設置屬性的可訪問性,以便可以訪問到 private 屬性。

0
北海市| 陆河县| 南澳县| 遵义县| 繁峙县| 工布江达县| 开远市| 罗甸县| 古田县| 田东县| 兴隆县| 六盘水市| 盘山县| 灯塔市| 南雄市| 巴马| 睢宁县| 龙口市| 静海县| 黄浦区| 湖南省| 北碚区| 金昌市| 平阴县| 淅川县| 长汀县| 当涂县| 延寿县| 汾西县| 同心县| 赫章县| 仙桃市| 余江县| 突泉县| 福海县| 习水县| 东乌珠穆沁旗| 广昌县| 伊宁县| 封开县| 康平县|