已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。
昨天关门了。
Improve this question
在Integer.compare(a,B)的文档中说,如果a小于b,它将返回一个小于0的值,如果a大于b,它将返回一个大于0的值。
在我的代码中实现了这个方法之后,我只看到它返回-1,0或1。我现在的问题是,它是否也可以返回其他值,例如-5?
我必须写代码,重写compareTo方法,它必须只返回-1,0或1,没有其他值。在我的compareTo中,我使用Integer.compare,所以我想知道是否会有任何情况下它会返回-1,0,1以外的值。
2条答案
按热度按时间bvuwiixz1#
在我的代码中实现了这个方法之后,我只看到它返回-1,0或1。我现在的问题是,它是否也可以返回其他值,例如-5?
是的,可以。当前的实现可能只返回您观察到的值,但没有任何东西可以阻止将来的实现更改。
我必须写代码,重写compareTo方法,它必须只返回-1,0或1,没有其他值。在我的compareTo中,我使用Integer.compare,所以我想知道是否会有任何情况下它会返回-1,0,1以外的值。
对于
Comparable.compareTo
(或Comparator.compare
,或类似的方法)的结果,您应该只检查与零相关的结果,即:== 0
、< 0
或> 0
(或!=
、<=
或>=
)。n9vozmp42#
我不相信他们会改变实现,但是将这些返回值修改为[-1,0,1]非常容易。
代码如下: