类型不匹配:无法从List转换为Object []

时间:2014-01-06 17:21:26

标签: 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 = kdtree.nearest(point.toDouble(), 2);
        result = (Integer)nearestPoint[1];
    } catch(Exception e) {
        debug(e);
        result = -1;
    }
    return result;
}

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

变化

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

    List nearestPoint = kdtree.nearest(point.toDouble(), 2);
    result = (Integer)nearestPoint.get(1); //may be 0 (check he length of list before)

答案 2 :(得分:0)

将您的代码更改为以下内容:

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

这应该将返回的List转换为Array ObjectsSee APIs供参考。