我有这个:
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
值。
但是,您仍然可以对原始数组使用 for-each 循环:
for (double d : a) {
System.out.println(d);
}
关于java - 使用 Arrays.asList 将基元数组转换为 List,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38590396/