我正在使用以下 compareTo-Method(在本例中为两个字符串)
Collections.sort(stringList, new Comparator<String>() {
public int compare(String a, String b) {
return a.compareTo(b);
}
});
在我当前的 Android 项目中。
compareTo-Function 在字母前设置特殊字符,如 #'.
和数字。我能否以某种方式修改 compareTo
,让字母在数字之前,数字在特殊字符之前尽可能简单?
还是我需要自己写比较方法?
提前致谢!
最佳答案
您不能覆盖 String 的 compareTo() 方法,但您绝对可以在相关位置(例如 Collections.sort())为您自己的 Comparator 提供自定义的 compare() 方法。请记住,String compareTo() 会进行词典 比较。 More information在 Java String 类文档中。
您的需求只是反转 compareTo() 的输出吗?然后像下面这样简单的 compare() 方法就可以工作(注意 Java 一元 - 运算符):
public int compare(String a, String b) {
return (- a.compareTo(b));
}
关于java - 修改Android中的compareTo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31034942/