Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 类型不匹配:无法从列表转换为对象[]_Java - Fatal编程技术网

Java 类型不匹配:无法从列表转换为对象[]

Java 类型不匹配:无法从列表转换为对象[],java,Java,我需要实现下面的代码,但我有问题 Type mismatch: cannot convert from List to Object[] for Object[] nearestPoint = kdtree.nearest(point.toDouble(), 2); 在下面的代码中 public int getNearestNeighbour(Point point) { int result = 0; try { Object[] nearestPoint =

我需要实现下面的代码,但我有问题

Type mismatch: cannot convert from List to Object[] for Object[] nearestPoint = kdtree.nearest(point.toDouble(), 2);
在下面的代码中

public int getNearestNeighbour(Point point) {
    int result = 0;
    try {
        Object[] nearestPoint = kdtree.nearest(point.toDouble(), 2);
        result = (Integer)nearestPoint[1];
    } catch(Exception e) {
        debug(e);
        result = -1;
    }
    return result;
}

这个错误几乎可以解释它自己。看起来kdtree.nearest()返回一个列表,但您试图将其存储在数组变量中。您需要更改变量的类型或从列表转换为数组。

更改

    Object[] nearestPoint = kdtree.nearest(point.toDouble(), 2);
    result = (Integer)nearestPoint[1];


将代码更改为以下内容:

Object[] nearestPoint = kdtree.nearest(point.toDouble(), 2).toArray();

这将转换返回到
对象的
数组的
列表
。作为参考。

什么是
kdtree
?方法
最近的
在哪里?
最近的
返回一个
列表
。不要期望
对象[]
.KDtree是一个执行JAR文件,其中包含用于返回给定点的最近点的最近方法。我尝试了许多转换从列表到对象,但它不工作。。。请告知me@user3166301因为您不能将列表设置为对象的大小写。查看列表API获取您的答案;一般来说,当您不确定如何处理对象时,最好从这里开始。
Object[] nearestPoint = kdtree.nearest(point.toDouble(), 2).toArray();