Ken*_*nny 7 java arrays arraylist
我试图转换一个ArrayList的Integer来Integer[]
Integer[] finalResult = (Integer[]) result.toArray();
Run Code Online (Sandbox Code Playgroud)
但我得到了一个例外
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.Integer;
Run Code Online (Sandbox Code Playgroud)
请帮帮我.
您需要使用toArray()接受泛型参数的版本:
Integer[] finalResult = new Integer[result.size()];
result.toArray(finalResult);
Run Code Online (Sandbox Code Playgroud)
或者,作为一个班轮:
Integer[] finalResult = result.toArray(new Integer[result.size()]);
Run Code Online (Sandbox Code Playgroud)
您无法List转换为数组,因为a List不是数组.这里有两种方法可以转换List<Integer>到Integer[].
List<Integer> list = Arrays.asList(1, 2, 3);
Integer[] arr = list.toArray(new Integer[list.size()]);
Integer[] arr2 = list.stream().toArray(Integer[]::new); // Java 8 only
Run Code Online (Sandbox Code Playgroud)