Java比较器语法的作品,但为什么?

这个问题在这里已经有了答案:

  • Java内部类和静态嵌套类23答案

  • SomeClass.PrioritizedPendingListComparator是一个类。 你需要一个实例,所以你必须使用new

    当你定义public static classstatic意味着它不隐式地引用外部类,但你仍然需要以正常的方式创建它。

    避免new一种方法是使用enum

    public enum PrioritizedPendingListComparator implements Comparator<SomeClass> {
        INSTANCE;
    
        @Override
        public int compare(SomeClass o1, SomeClass o2) {
        ...
        }
    

    后来

     Collections.sort(pendingList, SomeClass.PrioritizedPendingListComparator.INSTANCE);
    
    链接地址: http://www.djcxy.com/p/92023.html

    上一篇: Java Comparator syntax works, but why?

    下一篇: Java inner class (Implementing Single Linked List)