gpt4 book ai didi

java - 异常 ParseException 与 Comparator.compare(L, L) 中的 throws 子句不兼容

转载 作者:行者123 更新时间:2023-12-02 01:36:49 26 4
gpt4 key购买 nike

Exception ParseException is not compatible with throws clause in Comparator.compare(L, L).

我在java 6上运行,所以我必须实现Comparator并重写compare方法,然后创建该类的对象。相比之下,我必须使用格式化程序来解析日期,这可能会导致 ParseException,并且我无法将其从覆盖的比较中抛出给调用者。

最佳答案

compare 签名不允许检查Exception

int compare(T o1, T o2);

你会说“那么我就把它包装在 RuntimeException 中”。等等!

JavaDoc

Caution should be exercised when using a comparator capable of imposing an ordering inconsistent with equals to order a sorted set (or sorted map).

这意味着,您是否在 equals 方法中抛出相同的 Exception ?如果是,则可以在 compare 方法中执行此操作,否则,捕获它并返回适当的integer 值。

就我个人而言,我不会从排序/相等方法中抛出(手动)异常,因为我在创建对象时运行数据一致性检查。

关于java - 异常 ParseException 与 Comparator<L>.compare(L, L) 中的 throws 子句不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55115838/

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