从自定义列表中获取值

时间:2013-05-14 18:14:20

标签: java

我将List名称声明为public,person类具有setter和getters方法。在服务类中执行了该方法并且它具有值列表。

现在我想从列表中获取所有名字。

所以尝试如下......

Iterator<Person> it = name.iterator();

while(it.hasNext()) {

    name = (Person)it.next();
    String firsname=it.next();

}

请纠正我这里的错误。

1 个答案:

答案 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());
}