我開始用for-each循環替換for循環,但我不知道是否可以用for-each循環替換下面的場景。是否可以使用for-each循環迭代單次迭代中的下一個元素以及How?
示例代碼:
String[] names = {"", ""};
for(int i =0; i<names.length - 1; i++) {
if(names[i].equals(names[i+1]))
break;
}
使用for-each循環,我們可以一次遍歷一個元素像
for(String name : names){
System.out.println(name);
}
任何人都可以,請幫助我。 謝謝。
更新:
尋找用於下面的代碼片斷廣義解:
boolean flag = false;
for(int i=0; i<names.length-1; i++) {
// logic
for(int j=i+1; j<names.length; j++) {
if(names[i].equalsIgnoreCase(names[j])) {
flag = true;
break;
}
}
if(flag){
break;
}
}
是有可能上述取代for循環通過增強for循環?
你不能用''==操作符比較兩個字符串,使用'.equals()' – freedev
您可以對它們進行比較,這是明智的是一個不同的情況。 OP所要的是不可能的,恐怕你必須堅持索引for循環。或者使用增強的for循環自己跟蹤索引。 – Koekje
@freedev確信你可以(並且在某些情況下,它甚至是有意義的)。這只是它通常不會給你想要的結果:D – Mark