我正在学习《 Java教程》第6版。我看了这个例子:
public int indexOf(E e) {
for (ListIterator<E> it = listIterator(); it.hasNext(); )
if(e == null ? it.next() == null : e.equals(it.net()))
return it.previousIndex();
return -1;
}
我的问题是:用于for循环的特定语法的确切含义是什么?并且,在if条件中,“”是什么意思?和“:”?
for (initialization ; condition ; incrementation) { ... }
是正常的for循环语法。如果不需要,可以将增量部分留为空白。但是要小心,因为它可能会导致无休止的循环。那就是您的循环的样子-没有增量部分。
e == null ? it.next() == null : e.equals(it.net())
是一个简单的三元运算符: IF condition ? THEN : ELSE
重写它意味着这样的事情:
if(e == null) {
return it.next == null
} else {
return e.equals(it.net())
}
当它返回布尔值时,封闭if()
语句将其作为条件接受。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句