我有这个:
import java.util.Arrays;
import java.util.ArrayList;
public class Test1 {
public static void main(String[] args) {
double[] a = new double[2];
for( double d : Arrays.asList(a))
System.out.println(d);
}
}
输出:
$ javac Test1.java
Test1.java:9: error: incompatible types
for( double d : Arrays.asList(a))
^
required: double
found: double[]
1 error
为什么这里会出现错误?
和
错误是什么意思?它在告诉我什么?
最佳答案
在 Java 中,像 List
这样的集合只能引用引用类型。 double[]
是基元数组(但数组本身是引用类型)。正因为如此,Arrays.asList
正在尝试创建一个 List<double[]>
,如果您尝试在该列表上进行 for-each,您将获得 double[]
的项目数组而不是单个 double
值(value)观。
但是,您仍然可以对原始数组使用 for-each 循环:
for (double d : a) {
System.out.println(d);
}
关于java - 使用 Arrays.asList 将基元数组转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26190476/