我有一个正在排序的列表,该列表是从CSV文件读取的。
现在,当我对代码进行排序时,我得到:
但是,如果我在Excel上对CSV文件进行排序,则会略有不同
因此从技术上讲,Excel忽略了撇号的情况,但我的不是。该标准未指定在这种情况下的处理方法,但是我认为当时我的代码不正确。我将如何忽略撇号的情况并转到下一个角色?
我的代码是:
public static Comparator<Hill> compareName = new Comparator<Hill>() {
public int compare(Hill one, Hill other) {
return one.name.compareTo(other.name);
}
};
public static void exercise5d() {
List<Hill> hills = readHills();
for (int i = 0; i < 20; i++) {
Collections.sort(hills, Hill.compareName);
System.out.println(hills.get(i));
}
}
最佳答案
在比较器中
更换return one.name.compareTo(other.name);
与return one.name.replaceAll("'","").compareTo(other.name.replaceAll("'",""));