gpt4 book ai didi

java - 按日期时间对对象列表进行排序(无法解析方法 'compareTo' )

转载 作者:行者123 更新时间:2023-11-30 07:34:14 25 4
gpt4 key购买 nike

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

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)”。

如何实现抽象方法?

最佳答案

你能试试这个吗

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

所以,我明白了,您使用的不是 java.util.Date ,其中存在 compareTo 方法,但是 com.google.api.client.util.DateTime ,其中没有 compareTo 方法。

关于java - 按日期时间对对象列表进行排序(无法解析方法 'compareTo' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35630338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com