在datetime上排序对象列表(无法解析方法'compareTo')

时间:2016-02-25 14:39:43

标签: java sorting datetime android-studio

我正在尝试根据对象的DateTime对对象数组进行排序。我使用以下示例来创建我的解决方案:

Sort objects in ArrayList by date?

我使用的方法如下:

        List<SomeEvent> myEvents = new ArrayList<>();
//...
//left out the part where the List is filled with Objects
//...
        Collections.sort(myEvents, new Comparator<SomeEvent>() {
            public int compare(SomeEvent se1, SomeEvent se2) {
                return se1.getStartTime().compareTo(se2.getStartTime());
            }
        });

我收到错误消息“无法解析方法”compareTo(com.google.api.client.util.DateTime)'

关于我缺少什么的任何指示?

编辑: 我的类SomeEvent现在按照建议实现Comparable:

public class SomeEvent extends SomeTask implements Comparable<SomeEvent>
{ 
private DateTime startTime; 

private DateTime endTime;


     public DateTime getStartTime() {
         return startTime;
     }

     public DateTime getEndTime() {
         return endTime;
     }

 }

然而,现在,我得到的提示是我需要将我的类声明为抽象(在使用它的上下文中是不可能的)或者在'Comparable'中实现抽象方法'compareTo(T)'。 / p>

如何实现抽象方法?

1 个答案:

答案 0 :(得分:1)

你能试试吗

Collections.sort(myEvents, new Comparator<SomeEvent>() {
        public int compare(SomeEvent se1, SomeEvent se2) {
            return (int) (se1.getStartTime().getValue() - se2.getStartTime().getValue());
        }
    });

因此,我知道,您使用的不是java.util.DatecompareTo方法存在,而是com.google.api.client.util.DateTime,其中没有compareTo方法。