我有两个类:Question
和 Answers
。 Answer
类有自己的属性。我使用 Constructor-Injection(Spring 框架)将 2 个参数列表传递给 Answers
。
我想迭代以仅显示 Answer 属性的 id。那可能吗 ?
package Question.Answer;
public class Answers {
String id;
String name;
String by;
public Answers(String id,String name,String by) {
super();
this.id = id;
this.name = name;
this.by = by;
}
public String toString() {
return "id:"+id+"name:"+name+"Posted by"+by;
}
}
问题类
package Question.Answer;
import java.util.Iterator;
import java.util.List;
public class Question {
private String name;
private String id;
private List<Answers> answers;
public Question(String name,String id,List<Answers> answers) {
this.name = name;
this.id = id;
this.answers = answers;
}
public void display() {
System.out.println("Name:\t"+name+"\nid:\t"+id);
Iterator itr = answers.iterator();
while(itr.hasNext())
System.out.print("\n"+itr.next());
}
}
当前代码显示答案类中的每个属性,即
id
, name
, postedby
.
最佳答案
在你制作Iterator的地方
Iterator itr = answers.iterator();
请像这样添加类型:
Iterator<Answers> itr = answers.iterator();
现在,当您调用 itr.next() 时,它将为您提供 Answers 对象。为了更清楚,将此行添加到
的位置System.out.print("\n"+itr.next());
请替换为:
Answers answer = itr.next();
System.out.print("\n" + answer.id);
关于java - 如何使用 Iterator 访问类的这些元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52313322/