gpt4 book ai didi

java - 从未知类获取数据的首选方法是什么

转载 作者:行者123 更新时间:2023-12-04 04:45:43 25 4
gpt4 key购买 nike

data 是 MyType 类的 ArrayList,如果只使用 field.get(object)代码不会编译说未处理的异常。
当我运行它时,我无法访问私有(private)成员。然后我更改MyType的所有成员字段公开。然后这段代码有效。但是肯定有更好的方法来获取数据吗?

for (Object object : data)//get one object
{
ArrayList<Field> fields =
new ArrayList<Field>(Arrays.asList(object.getClass().getDeclaredFields()));//get all its fields
for(Field field : fields)
{
try {
System.out.println(field.get(object));//print its fields value
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

最佳答案

使用 Field.setAccessible(true) 允许访问私有(private)字段。

try {
field.setAccessible(true);
System.out.println(field.get(object));//print its fields value
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

关于java - 从未知类获取数据的首选方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18224425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com