我需要在下面实现代码,但我有
的问题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;
}
答案 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
Objects
。 See APIs供参考。