我得到了这些代码:
ListHandler<List<String>> columnSortHandler = new ListHandler<List<String>>(
list);
columnSortHandler.setComparator(nameColumn,
new Comparator<List<String>>() {
public int compare(List<String> o1, List<String> o2) {
if (o1 == o2) {
return 0;
}
// Compare the name columns.
if (o1 != null) {
return (o2 != null) ? o1.get(0).compareTo(o2.get(0)) : 1;
}
return -1;
}
});
table.addColumnSortHandler(columnSortHandler);
当排序列包含 iPhone 1、iPhone 2、iPhone 3... 时,它会正确排序,即 iPhone 1、iPhone 2、iPhone 3 用于升序和 iPhone 3、iPhone 2、iPhone 1 用于降序
但是当排序列包含:
1.92 MP
3.15 MP AF 0.31 MP
3.2 MP
5 MP AF 和闪光灯
1.3 MP
1.3 MP
2 MP(后置);0.3 MP(前)
1.92 MP AF 带闪光灯(后)
它没有遵循正确的顺序,甚至没有将 2 个“1.3 MP”单元并排放置。上述列表的正确顺序应该是:
1.3 MP
1.3 MP
1.92 MP
1.92 MP AF 带闪光灯(后置)
2 MP(后置);0.3 MP(正面)
3.15 MP AF 0.31 MP
3.2 MP
5 MP AF 和闪光灯
上面的代码有什么问题吗?