Alb*_*ert 2 java generics exception
当您以某种形式将回调传递给另一个函数时,您通常必须完全填充某些接口以便能够传递此类回调.该回调接口通常会限制您可以抛出的异常类型.
对我来说最自然的方式是被调用的函数会自动重新抛出(或忽略)回调抛出的异常.即它会自动继承它可以从回调中抛出的异常列表.即它可以抛出的异常列表是通用的.
有可能已经可能吗?如果是这样,为什么它不被Javas库使用呢?
如果还不可能,为什么不呢?将其包含在语言中并不复杂.它会使一些事情更加清洁(见上文).
一个例子:
我只是偶然发现Comparator.compare不能抛出异常(参见此处的相关问题)和Collections.sort(或其他使用的函数Comparator)也没有.
如果Comparator.compare可以抛出的异常是通用的并且Collections.sort会抛出相同的东西,那对我来说会更有意义.这将以更加自然和干净的方式解决我的问题.
我没有看到任何合理的理由为什么订购对象应该抛出异常.如果订单是"未指定的",我只返回-1,以便它落在顶部.