我想知道如何更改 ArrayList 中对象内的变量。
我已经尝试过myList.get(i);
但这会返回 <Object>
我不明白该怎么做。
(基本上)我拥有的:
ArrayList list = new ArrayList();
Issue issue = new Issue();
list.add(issue);
我想稍后通过列表访问:
issue.myString;
为了澄清一下,我有一个 class Issue
的实例里面ArrayList list
,我想改变 issue.myString
最佳答案
您(至少)有两个选择。
列表仅包含问题
在这种情况下,您可以使用类型列表:
List<Issue> list = new ArrayList<>();
Issue issue = new Issue();
list.add(issue);
这样,像 list.get(i)
这样的调用将返回一个 Issue
。
列表包含问题和其他非问题对象
List list = new ArrayList();
Issue issue = new Issue();
list.add(issue);
Object object = new Object();
list.add(object);
在这种情况下,您必须首先检查该对象是否是一个 Issue
。
Object rawItem = list.get(i);
if(rawItem instanceof Issue) {
Issue issue = (Issue) rawItem;
...
}
关于java - 从ArrayList获取类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40696911/