gpt4 book ai didi

Java Arraylist 在 get() 上丢失方法/字段

转载 作者:行者123 更新时间:2023-12-02 13:09:02 25 4
gpt4 key购买 nike

我有一个名为 Trip 的自定义类,它有几个 getter 方法,所有内容都是公共(public)的。我将几个 Trip 对象添加到 ArrayList:

public ArrayList<Trip> routeIndex;

当使用以下代码回调这些 Trip 对象之一时,出现访问错误。

    Trip abc = routeIndex.get(0);
for (Field field : abc.getClass().getDeclaredFields()) {
field.setAccessible(true);
String name = field.getName();
field.setAccessible(true);
Object value = field.get(abc);
System.out.printf("Field name: %s, Field value: %s%n", name, value);
}

这是对象值行上的以下错误:

unreported exception java.lang.IllegalAccessException; must be caught or declared when thrown

有什么想法我可能会出错吗?

最佳答案

您应该在 filed.get(abc) 周围添加 try/catch block ,因为 filed.get(Object obj) 方法会抛出异常IllegalAccessException,您应该处理它。

因此您只需将 Object value = field.get(abc); 更改为

Object value = null;
try {
value = field.get(abc);
} catch (IllegalAccessException e) {
e.printStackTrace();
}

而且效果很好。

关于Java Arraylist 在 get() 上丢失方法/字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44037580/

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