Arrays.sort(copied, new Comparator<float[]>(){
@Override
public int compare(float[] o1, float[] o2) {
// TODO Auto-generated method stub
return o2[7].compareTo(o1[7]);
}
});
复制的数组使用如下所示
[10.0, 34.34, 34.42, 34.1, 34.35, 5244700.0, 34.35, 0.0, 0.0, 0.0][10.0, 34.34, 34.42, 34.1, 34.35, 5244700.0, 34.35, 0.1, 0.0, 0.0 ].......
但不知何故编译器错误的返回行:
Cannot invoke compareTo(float) on the primitive type float
请帮助
答案 0 :(得分:4)
return Float.compare(o2[7],o1[7]);
答案 1 :(得分:0)
我认为你必须使用Float类而不是浮动原语
答案 2 :(得分:0)
您正在使用一个原语,您试图通过尝试在其上调用方法来取消引用。注意到原语不是类,因此没有方法。因此错误不能invoke
。
将方法签名更改为
public int compare(Float[] o1, Float[] o2) {
// TODO Auto-generated method stub
return o2[7].compareTo(o1[7]);
}
可让您访问.compare
功能
请记得通过Float[]
。显然Java不是自动代码阵列