我试图在增强的for循环的帮助下实现它,但我的问题是如果我在下面的例子中使用迭代器,我如何确保我的返回类型正在拾取相应的“XYZ”值?
List<Apples> a1 = new List<Apples>();
if(a1.iterator().next().equals("XYZ")
{
return a1.iterator().next().getFruits();
}
答案 0 :(得分:2)
可能你想实现以下
List<Apples> apples = new List<Apples>();
for(Apple a : apples) {
if("xyz".equals(a.getSomethingWhatReturnsString())) return a.getFruits();
}
答案 1 :(得分:1)
为什么在这里使用迭代器?一个简单的get()
就可以解决问题:
if (a1.get(0).equals("XYZ")) {
return a1.get(0).getFruits();
}
当然,如果您打算遍历列表中的所有元素,那么您在此处缺少for
。此外,您的代码将无法正常工作:它是 apples 的列表,您无法将苹果与字符串进行比较!也许您的意思是这样,将getStringAttribute()
替换为您要与"XYZ"
进行比较的相应属性:
for (Apple a : a1) {
if ("XYZ".equals(a.getStringAttribute())) {
return a.getFruits();
}
}