List<Integer> list = Collections.shuffle(list);
この割り当ては機能しません。それは明らかに aList
であり、 を.shuffle()
とりますが、 「互換性のない型」を与えList
ます。では、なぜこれが機能しないのでしょうか。
List<Integer> list = Collections.shuffle(list);
この割り当ては機能しません。それは明らかに aList
であり、 を.shuffle()
とりますが、 「互換性のない型」を与えList
ます。では、なぜこれが機能しないのでしょうか。
javadocを確認してください。戻り型Collections.shuffle
があります。最初void
の を作成してから、シャッフルします。例えば:List
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
Collections.shuffle(list);
System.out.println("Shuffled List: " + list);
実際には次の 2 つの問題があります。
List list = new ArrayList(list);
割り当ての右側のオペランドが左側のオペランドの前に解析されるため、変数を初期化/宣言する前に変数にアクセスすることはできません。コードは機能しません。Collections.shuffle()
が述べたように、void
戻り値の型があるため、それ(「結果」)を変数に割り当てることはできません。このメソッドshuffle()
は、入力として与えられた同じリストを変更します (関数型プログラマーにとっては直感的ではないかもしれません)。