我正在尝试使用collection.sort()方法对两个字符串进行排序,但我不太理解实现的逻辑。这是我目前的代码。请问我的实现有什么问题吗? 注意:我想按字母顺序排序: "Apple" > "Orange"
Collections.sort(mailbox.getMessages() , (String a, String b) -> {
if (String.valueOf(a.charAt(0)) > String.valueOf(b.charAt(0))) {
return -1;
}
else if (String.valueOf(a.charAt(0)) <
String.valueOf(b.charAt(0))) {
return 1;
}
else {
return 0;
}
});
a
或b
有可能为null
。您还应该仅对字符执行1次比较并存储该结果。 - ObicereCollections.sort()
方法?那样会按字典顺序对字符串进行排序。请参见https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#compareTo%28java.lang.String%29 - DNA