这种类型有什么问题?它无法正常工作。
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;
}
最佳答案
没有错,更清楚:
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;
}
虽然不允许空值并且 compareTo 定义明确。
关于java - Java 中的集合排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15544219/