【发布时间】:2013-12-11 02:38:09
【问题描述】:
这很简单,但我显然遗漏了一些东西......
我有一个二维数组,其中包含从 BufferedImage 对象计算的颜色值的整数表示。我还有一种方法可以根据整数值计算亮度值。
我想根据亮度值对行进行排序。但是,我得到了
sort(java.lang.Integer[], Comparator<? super Integer>) in Arrays cannot be applied
to (int[], IntComparator)
我的比较方法:
private class IntComparator implements Comparator<Integer>{
@Override
public int compare(Integer x, Integer y){
return (PhotoUtils.getBrightnessValue(x) <= PhotoUtils.getBrightnessValue(y)) ? x : y;
}
}
在我的 sortRow 方法中,我有
public void sortRow(int row) {
Arrays.sort(this.buffer[row], new IntComparator());
}
这里有什么问题?毕竟,我只是根据输入计算两个整数值并返回 0。
【问题讨论】:
-
您将 int[] 和 Integer[] 混为一谈。请注意,您可以从 int 到 Integer 自动装箱/自动拆箱,反之亦然,但不能从 Integer[] 到 int[],反之亦然。
标签: java sorting comparator