Dan*_*rzo 16 java foreach loops
我正在尝试使用for-each
语句替换基于迭代器的Java列表循环,但代码在某些时候使用iterator.hasNext()
它来检查它是否到达列表中的最后一个元素.
for-each
替代品有类似的东西吗?
for (Object current : objectList) {
if (last-element)
do-something-special
}
Run Code Online (Sandbox Code Playgroud)
Mir*_*uta 21
for-each只是迭代器版本的语法糖,如果你检查编译的字节码,那么你会注意到compilator实际上将它改为迭代器版本.
使用for-each表单,您无法检查是否有更多元素.如果您需要该功能,请使用显式迭代器.
除了Luno的回答:
Iterator<MyClass> it = myCollection.iterator();
while(it.hasNext()) {
MyClass myClass = it.next():
// do something with myClass
}
Run Code Online (Sandbox Code Playgroud)
翻译为:
for (MyClass myClass:myCollection) {
// do something with myClass
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
36397 次 |
最近记录: |