我正在尝试确定当前对象是否在 foreach
内循环嵌套在另一个 foreach 循环内,这两个循环都迭代相同的 ArrayList
,当前都在同一个对象上迭代。由于 foreach 循环的约定,似乎没有一种简单的方法来获取 ArrayList 中对象的当前索引,以便能够比较当前对象是否相等。本质上,我想 continue
如果两个 foreach 循环当前都在同一对象上迭代,则在内部 foreach 循环中遍历当前对象。
例如,给定 ArrayList<Object>
命名objects
:
for (Object a : objects) {
for (Object b : objects) {
//If both loops are currently iterating over the same object
//from the ArrayList objects, skip to the next iteration of the inner
//foreach loop
if (a == b) {
continue;
}
//If both foreach loops are not iterating over the same object
//execute some operation
}
}
正在使用==
运算符来测试当前正在迭代的两个对象是否是同一对象可靠,或者最好简单地使用常规 for
而是循环并根据索引比较对象?
最佳答案
在这种情况下,可以将对象与 ==
进行比较,但前提是您没有多次将同一对象放入列表中。如果列表中的多个位置都有相同的对象,那么这是不行的,您应该使用标准的 for 循环。
关于java - 确定嵌套 Foreach 循环中的当前对象是否相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14298277/