中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
新建县| 福建省| 永登县| 乌审旗| 巩义市| 缙云县| 东辽县| 双辽市| 施甸县| 诏安县| 毕节市| 铜陵市| 伊通| 稷山县| 隆子县| 万安县| 民乐县| 卢湾区| 平乐县| 类乌齐县| 商都县| 辉县市| 夏河县| 甘孜县| 云龙县| 洛隆县| 海口市| 宁阳县| 肥西县| 唐海县| 尚义县| 阿勒泰市| 麟游县| 竹溪县| 临西县| 宁夏| 龙门县| 莱芜市| 聂拉木县| 奉新县| 包头市|