你好 stackoverflow 社区!我是这些论坛的新手,对 java 和 android 编程也很陌生——这恰好是我的问题的对象——对于任何错误,请提前道歉!
我的问题是排序。我正在寻找一种基于我选择的字段对对象进行排序的方法(不是基于第一个字段排序,然后是下一个字段,等等,例如比较器链接)。我相信我已经找到了解决问题的方法:
https://stackoverflow.com/a/5113108/1549672
但我实际上很难让它发挥作用。我怀疑由于缺乏 Java 经验,我可能遗漏了一些东西,所以欢迎任何帮助!
这是我正在尝试的:
作为我的班级——
public class ItemLocation {
String title;
int id;
}
作为我的功能-
public void sort(final String field, List<ItemLocation> itemLocationList) {
Collections.sort(itemLocationList, new Comparator<ItemLocation>() {
@Override
public int compare(ItemLocation o1, ItemLocation o2) {
if(field.equals("title")) {
return o1.title.compareTo(o2.title);
} else if(field.equals("id")) {
return Integer.valueOf(o1.id).compareTo(o2.id);
}
return 0;
}
});
}
使用这些,有人可以举一个使用这种方法的例子吗?我试图填充一个 ArrayList 并对其进行排序,但无济于事。
谢谢您的帮助!