为什么我在执行以下代码时获得Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException ERRO
?
int[] things={11,22,33,44};
List<int[]>Listdata = Arrays.asList(things);
int[] n=Listdata.get(1);
System.out.println(n[1]);
如果我放get(0)
答案 0 :(得分:3)
int[]
数组最自然地映射到List<Integer>
。不幸的是,there is no built-in way to convert directly from an int
array to an Integer
list,由于拳击是必需的。您必须手动构建List
。
int[] things = {11, 22, 33, 44};
List<Integer> list = new ArrayList<>();
for (int i: things) {
list.add(i);
}
int n = list.get(1);
System.out.println(n);
如果您愿意依赖第三方图书馆电话,那么Google出色的Guava library会提供一种方便的方法。
int[] things = {11, 22, 33, 44};
List<Integer> list = Ints.asList(things);
int n = list.get(1);
System.out.println(n);
或者,如果您的目标只是获取List
个数字,则可以跳过中间数组。
List<Integer> list = Arrays.asList(11, 22, 33, 44);