按属性排序对象数组

时间:2011-07-04 18:15:25

标签: java arrays sorting

是否有java util方法,或者通过该类型的属性对某种类型的Array进行排序的简短方法。我目前有一个Choice类型对象数组,每个对象都有一个getText()方法,返回所选内容的可视化表示。我可以创建一个很长的方法,创建一个选择文本的数组,排序它们,得到它们的有序索引,然后按索引排序选择,但我肯定认为有一种快捷方式。

任何建议?

1 个答案:

答案 0 :(得分:4)

Collections.sort(list, new Comparator<Choice>(){
 public int compare (Choise c1, Choice c2) {
   return c1.getText().compareTo(c2.getText());
 }
});

必要时添加检查空值

您可以将比较器移动到外部类,并使用反射从任何对象读取自定义字段。但这会使代码不易理解