Java 比较器返回值有问题吗?

Java 比较器返回值有问题吗?,java,Java,虽然compareTo方法的契约只指定返回值的符号,但为什么几乎所有的方法实现都只返回-1、0、1?如果您有阅读契约的权限,那么您已经阅读了为什么 不管怎样,我将链接它:当你比较两个值时,比如a和b。只有三种可能性 a等于b a小于b a大于b 因此,您只需使用Compatite来检查上述情况。那么0表示存在相等的值-1表示a小于b,1表示a大于b 如果A和B是对象,则参考值考虑。 。。。为什么几乎所有的方法实现都只返回-1、0、1 我不能代表其他程序员说话,但我通常这样做,因为在大多数情况下这

虽然compareTo方法的契约只指定返回值的符号,但为什么几乎所有的方法实现都只返回-1、0、1?

如果您有阅读契约的权限,那么您已经阅读了为什么


不管怎样,我将链接它:

当你比较两个值时,比如a和b。只有三种可能性

a等于b a小于b a大于b

因此,您只需使用Compatite来检查上述情况。那么0表示存在相等的值-1表示a小于b,1表示a大于b

如果A和B是对象,则参考值考虑。

。。。为什么几乎所有的方法实现都只返回-1、0、1

我不能代表其他程序员说话,但我通常这样做,因为在大多数情况下这样做更简单、更方便。最重要的是,这是正确的

我想你是按照这样的思路思考的:

  public int compareTo (MyClass other) {
      return this.intField - other.intField;
  }

当心。这个代码有点错误。请看此问答:

您能详细说明您的问题吗?您还有什么建议?a、 b、c??阅读文档。请把你的问题说清楚!!!请澄清您的具体问题或添加其他详细信息,以突出显示您所需的内容。正如目前所写的,很难准确地说出你在问什么。请参阅页面以获取澄清此问题的帮助。请告诉我们您尝试了什么,相关代码以及您遇到的具体问题。我们不是来为你写的。仔细阅读。然后你的问题。@以同样的方式除以零。然后参考值进入,为对象播放。你会投反对票吗?不,我不是反对票的人,我爱我的名声,也不想因为投反对票而失去名声。不过,任何回答都是例外:p…@DividebyZero那么?你的意思是什么?谢谢你的回答!我觉得你很聪明,因为别人不明白我的明确问题;他们给了我很多缺点