简体   繁体   English

集合在Java中排序

[英]Collections Sorting in Java

Whats wrong with this sort? 这类错了什么? It doesn't work properly. 它无法正常工作。

 public List<LibRegistration> getLibraryRegistrationsSortedByTypeAndName()
    {
        List<LibRegistration> l = getLibRegs();
        Collections.sort(l, new Comparator<LibRegistration>() {
            public int compare(LibRegistration o1, LibRegistration o2) {
               return o1.getLibraryType().compareTo(o2.getLibraryType()) != 0?o1.getLibraryType().compareTo(o2.getLibraryType()):o1.getLibraryName().compareTo(o2.getLibraryName());
            }
        });
        return l;
    }

Nothing wrong, more clear: 没有错,更清楚:

        public int compare(LibRegistration o1, LibRegistration o2) {
            int cmp = o1.getLibraryType().compareTo(o2.getLibraryType());
            if (cmp == 0)
                cmp = o1.getLibraryName().compareTo(o2.getLibraryName());
            return cmp;
        }

Though nulls not allowed and compareTo well defined. 虽然不允许空值并且compareTo定义良好。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM