Java 无法在数组交叉点中从列表转换为数组

Java 无法在数组交叉点中从列表转换为数组,java,android,Java,Android,我曾经尝试过用这种方式将两个双数组相交 public double[] intersect(double[] a, double[] b) { List<double[]> aList = Arrays.asList(a); List<double[]> bList = Arrays.asList(b); aList.retainAll(bList); double[] c = aList.toArray

我曾经尝试过用这种方式将两个双数组相交

public double[] intersect(double[] a, double[] b) {
        List<double[]> aList =  Arrays.asList(a);
        List<double[]> bList =  Arrays.asList(b);
        aList.retainAll(bList);
        double[] c = aList.toArray(new double[aList.size()]);
    }
不编译

我应该如何解决这个问题

列表#toArray
是一种通用方法,可以通过其签名看到:

<T> T[] toArray(T[] a);

我编辑你的代码是为了有意义

public Double[] intersect(Double[] a, Double[] b) {
        List<Double> aList =  Arrays.asList(a); // List<double[]> this is bad!
        List<Double> bList =  Arrays.asList(b);
        aList.retainAll(bList);
        return aList.toArray(new Double[aList.size()]);            
}
公共双[]相交(双[]a,双[]b){
List aList=Arrays.asList(a);//List这太糟糕了!
List bList=Arrays.asList(b);
保留列表(bList);
返回aList.toArray(新的Double[aList.size()]);
}

但是尝试了却没有结果您甚至没有发布编译错误。你并没有帮我们调试这个。你需要
列表
,因为原语不能与泛型一起使用。谢谢你的回答。。。没有办法使用双原语吗?如果对象包装器工作得很好,为什么还要使用原语呢?我建议对原语和它们各自对应的对象做一些研究。没有办法使用双原语吗?看看你还有其他的错误!,使用
Double[]
,则这是一个有效的代码,例如
Double a=array[0]
@AndreaF在Java SDK中没有现成的方法,但是您可以使用一个库。例如,有。
Double[] c = aList.toArray(new Double[aList.size()]);
public Double[] intersect(Double[] a, Double[] b) {
        List<Double> aList =  Arrays.asList(a); // List<double[]> this is bad!
        List<Double> bList =  Arrays.asList(b);
        aList.retainAll(bList);
        return aList.toArray(new Double[aList.size()]);            
}