以下代码虽然看起来很正确但不起作用:
import java.util.*;
public class Jaba {
public static void main(String args[]) {
Random rand = new Random();
int[] array = new int[10];
for (int i = 0; i < array.length; ++i) {
array[i] = rand.nextInt(30);
}
Queue<Integer> que = new PriorityQueue<Integer>();
Collections.addAll(que, Arrays.asList(array));
}
}
Run Code Online (Sandbox Code Playgroud)
应该修复什么?
aio*_*obe 13
Arrays.asList获取一系列对象.(这是唯一的选择,因为它无法返回List<int>.)
传递int[]给时Arrays.asList,它将被解释为包含一个的单个数组int[].
你必须这样做
更改为for循环:
for (int i : array)
que.add(i);
Run Code Online (Sandbox Code Playgroud)
要么
将arrayfrom 的类型更改int[]为Integer[].
这将允许你这样做
que.addAll(Arrays.asList(array))
Run Code Online (Sandbox Code Playgroud)
要么,
Collections.addAll(que, array);
Run Code Online (Sandbox Code Playgroud)Collections.addAll(que, Arrays.asList(array))失败的原因是它需要一个T...第二个参数,它实际上是一个数组而不是List.
| 归档时间: |
|
| 查看次数: |
5554 次 |
| 最近记录: |