0
List<Integer> list = Collections.shuffle(list);

这个任务没用。它给出了“不兼容的类型”,即使它显然是 aList并且.shuffle()需要 a List。那么为什么这个东西不起作用呢?

4

2 回答 2

3

检查javadocCollections.shuffle有一个void返回类型。创建你的List 第一个,然后随机播放。例如:

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
Collections.shuffle(list);
System.out.println("Shuffled List: " + list);
于 2013-02-03T18:15:16.857 回答
1

其实有两个问题:

  1. 在初始化/声明变量之前,您无法访问变量,即使代码List list = new ArrayList(list);也不起作用,因为赋值的右操作数在左操作数之前被解析。
  2. 正如@Reimeus 所提到的,Collections.shuffle()有一个void返回类型,因此你不能将它(“结果”)分配给一个变量。该方法shuffle()更改了作为输入给出的相同列表(对于函数式程序员可能不直观)。
于 2013-02-03T18:18:52.680 回答