次のコードでは、4つの要素が必要ですが、3つしか得られません。明らかに私は何か狂ったばかげたことをしています。変数を入れ替えたときの奇妙なjava for-eachの動作
import java.util.HashSet;
import java.util.Set;
public class MyTest {
public static void main(String[] args) {
String[] myStrings = new String[] { "a", "b" };
Set<String> set = new HashSet<String>();
for (String x : myStrings) {
for (String y : myStrings) {
String temp = x;
x = y;
y = temp;
set.add(x + y);
}
}
System.out.println(set);
}
}
結果:あなたは順序を保持しないハッシュセットに結果の文字列を入れているので、
[ba, aa, ab]
(1)bbはどこですか? (2)これは各反復のテストの単なる単純な例です。 –
が間違っています!変数xとyは混乱しています。 –