CustomComparator 排序对象错误
CustomComparator sort objects error
我一直收到错误
The method sort(List<T>, Comparator<? super T>) in the type Collections is not applicable for the arguments (List<InterfaceMessage>, Folder.CustomComparator)
关于代码...
@Override
public void sortByDate(boolean ascending) {
Collections.sort(messageList, new CustomComparator());
}
class CustomComparator implements Comparator<Message> {
public int compare(Message message1, Message message2) {
return message1.getDate().compareTo(message2.getDate());
}
}
我正在尝试比较列表中每个对象内的日期,以按日期对它们进行排序。我是制作比较器的新手,但我见过很多我遵循的示例,但我的示例似乎不起作用?我知道我还没有对 "ascending" 做任何事情,我只是想让基本的比较器工作。
感谢任何帮助,谢谢:)
根据错误消息,变量 messageList
必须定义为 List<InterfaceMessage>
。但是您的比较器使用 class Message
,这可能是 InterfaceMessage
的实现。但是可能还有其他实现。所以比较器不能可靠地处理 messageList
.
的元素
解决方案如评论中所建议:
class CustomComparator implements Comparator<InterfaceMessage> { /*...*/ }
应该是
class CustomComparator implements Comparator<InterfaceMessage>
我一直收到错误
The method sort(List<T>, Comparator<? super T>) in the type Collections is not applicable for the arguments (List<InterfaceMessage>, Folder.CustomComparator)
关于代码...
@Override
public void sortByDate(boolean ascending) {
Collections.sort(messageList, new CustomComparator());
}
class CustomComparator implements Comparator<Message> {
public int compare(Message message1, Message message2) {
return message1.getDate().compareTo(message2.getDate());
}
}
我正在尝试比较列表中每个对象内的日期,以按日期对它们进行排序。我是制作比较器的新手,但我见过很多我遵循的示例,但我的示例似乎不起作用?我知道我还没有对 "ascending" 做任何事情,我只是想让基本的比较器工作。
感谢任何帮助,谢谢:)
根据错误消息,变量 messageList
必须定义为 List<InterfaceMessage>
。但是您的比较器使用 class Message
,这可能是 InterfaceMessage
的实现。但是可能还有其他实现。所以比较器不能可靠地处理 messageList
.
解决方案如评论中所建议:
class CustomComparator implements Comparator<InterfaceMessage> { /*...*/ }
应该是
class CustomComparator implements Comparator<InterfaceMessage>