for (Iterator i = guitars.iterator(); i.hasNext(); )
{
Guitar guitar = (Guitar)i.next();
if (guitar.getSerialNumber().equals(serialNumber))
{
return guitar;
}
}
我无法理解 (Guitar)i.next()
正在做什么。看起来好像 Guitar
被传递给了函数 (...)
但我猜测并且没有任何线索。为这种结构制定搜索查询也不容易,因此请原谅可能出现的重复问题。
最佳答案
这是一份选角声明。原因是 i.next()
返回一个 Object
,但您知道它将是一个 Guitar
,因此您告诉编译器:
"Hey, compiler, I know it's going to be a
Guitar
, trust me."
执行此操作的巧妙方法是使用泛型。您基本上在做同样的事情,但它更干净:
for (Iterator<Guitar> i = guitars.iterator(); i.hasNext(); )
{
Guitar guitar = i.next();
//...
}
关于java - Java 中迭代器变量前面的括号是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23969479/