import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
class Pair<T> {
private String name;
private T value;
public Pair(String name, T value) {
this.name = name;
this.value = value;
}
public String getName() {
return name;
}
public T getValue() {
return value;
}
}
class ObjectA {
private String f1;
private String f2;
// ... (2000属性)
// 使用反射获取属性值
public List<Pair<Object>> getPropertyPairs() {
List<Pair<Object>> pairs = new ArrayList<>();
Field[] fields = this.getClass().getDeclaredFields();
for (Field field : fields) {
try {
String fieldName = field.getName();
Object fieldValue = field.get(this);
pairs.add(new Pair<>(fieldName, fieldValue));
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
return pairs;
}
}
public class Main {
public static void main(String[] args) {
ObjectA objectA = new ObjectA();
// 设置2000个属性值...
// 使用反射获取属性值并创建Pair对象
List<Pair<Object>> pairList = objectA.getPropertyPairs();
// 打印Pair集合中的内容
for (Pair<Object> pair : pairList) {
System.out.println("Name: " + pair.getName() + ", Value: " + pair.getValue());
}
}
}
采取反射获取对象的字段和值
最新推荐文章于 2024-07-14 23:27:18 发布