91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
海兴县| 鸡西市| 门源| 阿拉善盟| 佛学| 射洪县| 原阳县| 嘉义市| 驻马店市| 天祝| 清镇市| 元朗区| 瓦房店市| 浠水县| 南川市| 连山| 兰西县| 池州市| 成武县| 桓台县| 中方县| 民县| 连城县| 海林市| 汉寿县| 平原县| 鸡东县| 栾城县| 扎囊县| 绵阳市| 漳平市| 托克逊县| 南雄市| 建昌县| 宾阳县| 舒兰市| 宁南县| 临江市| 衡山县| 紫云| 朝阳区|