对自定义对象列表w.r.t进行排序。数据成员

时间:2014-02-20 17:33:45

标签: java android sorting

我有一个应用程序列表,其中每个实体代表一个自定义对象。

List<String> Applications = new ArrayList<String>();

我的Application类是这样的:

public Class Application
{
    private String ApplicationName;
    private int Priority
}

我需要对应用程序w.r.t进行排序。优先。请注意,优先级只能包含三个值,即分别为高,中和低的1,2和3。

我已经实现了Comparator来对列表进行排序:

Collections.sort(this.Applications, new Comparator<Application>()
{
    @Override
    public int compare(Application App1, Application App2)
    {
        return App1.Priority.compareTo(App2.Priority);
    }
});

但是编译器给了我这个错误:

Cannot invoke compareTo(int) on the primitive type int

1 个答案:

答案 0 :(得分:4)

如果您使用的是Java 7,请替换

return IA1.Priority.compareTo(IA2.Priority);

return Integer.compare(IA1.Priority, IA2.Priority);

...否则,你必须用

替换它
if (IA1.Priority < IA2.Priority) {
  return -1;
} else if (IA1.Priority == IA2.Priority) {
  return 0;
} else {
  return 1;
}