使用Array.sort()对字节数组进行排序

时间:2017-02-27 09:55:15

标签: java

真的很愚蠢的问题,但我有点卡在这个问题上:

byte[] bytes = new byte[]{1, 2, 3};
Arrays.sort(bytes, (byte a, byte b) -> 0);

为什么lambda不匹配Array.sort的任何方法,我该如何解决?

2 个答案:

答案 0 :(得分:4)

我想您正在尝试使用Arrays.sort(T[] a, Comparator<? super T> c),因此问题是byte不是T,因为它是原始类型。我想这可以用Byte代替。

答案 1 :(得分:3)

没有sort方法接受原始值数组 a Comparator。不幸的是,只能用比较器对对象数组进行排序。

尝试

Byte[] bytes = new Byte[] { 1, 2, 3 };
Arrays.sort(bytes, (Byte a, Byte b) -> 0);