我将List名称声明为public,person类具有setter和getters方法。在服务类中执行了该方法并且它具有值列表。
现在我想从列表中获取所有名字。
所以尝试如下......
Iterator<Person> it = name.iterator();
while(it.hasNext()) {
name = (Person)it.next();
String firsname=it.next();
}
请纠正我这里的错误。
答案 0 :(得分:3)
不,该代码不起作用,因为您的第二次演员将失败:it.next()
将是Person
,而不是String
。
以下是修改代码的方法:
List<String> firstNames = new ArrayList<String>();
Iterator <Person> it = name.iterator(); // shouldn't this be persons.iterator() ?
while (it.hasNext()) {
Person p = it.next(); // No need to cast
String firsname = p.getFirstName();
firstNames.add(firstName);
}
或者,你可以这样做:
List<String> firstNames = new ArrayList<String>();
for (Person p : persons) {
firstNames.add(p.getFirstName());
}