真的很愚蠢的问题,但我有点卡在这个问题上:
byte[] bytes = new byte[]{1, 2, 3};
Arrays.sort(bytes, (byte a, byte b) -> 0);
为什么lambda不匹配Array.sort
的任何方法,我该如何解决?
答案 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);