Java8 Arrays.sort() 传入Comparator比较器报错

Arrays.sort传入比较器时报错,eclipse提示只保留"list"参数。环境:java jdk 1.8;eclipseVersion: Oxygen.1a Release (4.7.1a)

第1个回答  2018-03-15

因为没有传入集合的操作 那只是个数组工具不要难为人家了

    public class Arrays

    extends Object


    此类包含用来操作数组(比如排序和搜索)的各种方法。此类还包含一个允许将数组作为列表来查看的静态工厂。

    除非特别注明,否则如果指定数组引用为 null,则此类中的方法都会抛出 NullPointerException。

    此类中所含方法的文档都包括对实现 的简短描述。应该将这些描述视为实现注意事项,而不应将它们视为规范 的一部分。实现者应该可以随意替代其他算法,只要遵循规范本身即可。(例如,sort(Object[]) 使用的算法不必是一个合并排序算法,但它必须是稳定的。) 

第2个回答  2018-03-21
Arrays.sort:他是数组的工具,用来对数组进行排序的!
你的项目中list是一个集合,而不是数组,不能直接使用数组工具对其进行排序!
但是集合是可以转换数组的,所以就你目前状态可以这么做:
FatherClass[] frr=list.toArray(new FatherClass[list.size()]);//集合被转成数组!
Arrays.sort(frr,new compareClass());//在用数组工具进行排序,传入比较器!本回答被提问者和网友采纳
相似回答