我想知道如何更改ArrayList中对象内的变量。
我已尝试myList.get(i);
,但这会返回<Object>
,但我不知道该怎么做。
(基本上)我拥有的东西:
ArrayList list = new ArrayList();
Issue issue = new Issue();
list.add(issue);
我想稍后通过列表访问的内容:
issue.myString;
所以要澄清一下,我在class Issue
内有一个ArrayList list
的实例,我想要更改issue.myString
答案 0 :(得分:2)
你有(至少)两个选择。
在这种情况下,您可以使用键入的列表:
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;
...
}
答案 1 :(得分:1)
使用输入列表:
list.get(i)
现在<Issue>
将返回<Object>
而不只是http://www.example.com/home.php
http://www.example.com/about.php
http://www.example.com/products.php
http://www.example.com/contact.php