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>