当前位置: 首页 > 知识库问答 >
问题:

使比较器与等式一致

俞涵涤
2023-03-14

我仍在学习这方面的诀窍,但我正在尝试为HashMap实现一个比较器,以便使用compareTo对键进行排序。为了使比较器与equals保持一致,我想尝试从compareTo获取int结果,看看它是否等于0。如果是,请检查对象是否相等。我遇到的问题是,如果对象不相等,会发生什么?我必须归还什么?

共有1个答案

蓟和煦
2023-03-14

一个int值:0如果字符串等于另一个字符串。

因此,可以返回0表示相等,返回1表示大于,返回-1表示小于

 类似资料:
  • JavaScript 有两种方式判断两个值是否相等。 等于操作符 等于操作符由两个等号组成:== JavaScript 是弱类型语言,这就意味着,等于操作符会为了比较两个值而进行强制类型转换。 "" == "0" // false 0 == "" // true 0 == "0"

  • 问题内容: Comparable和Comparator之间的主要区别是什么。 在什么情况下,哪个比另一个优先? 问题答案: 当你的类实现时,该类的方法将定义该对象的“自然”顺序。根据合同,该方法有义务(尽管不要求)与该对象上的其他方法保持一致,例如,当比较返回true 时,应始终为对象返回0 。 一个比较本身就是如何比较两个对象的定义,可用于可能不与自然顺序排列的方式来比较的对象。 例如,字符串通

  • 是否有一种惯用的方法来比较两个NumPy数组,它们将NaN视为彼此相等(但不等于NaN以外的任何东西)。 例如,我希望以下两个数组比较相等: 和以下两个数组进行比较: 我正在寻找一种可以产生标量布尔结果的方法。 以下方法可以做到这一点: 但它很笨重,并且创建了所有这些中间数组。 有没有一种方法可以更容易地观察眼睛,更好地利用记忆? 另外,如果有帮助的话,已知数组具有相同的形状和数据类型。

  • 问题内容: 我试图将数组的成员设置为小于nan的阈值。这是QA / QC过程的一部分,传入数据可能已经具有nan插槽。 例如,我的阈值可能是-1000,因此我想在以下数组中将-3000设置为nan 以下内容: 产生正确的行为,但也会产生RuntimeWarning,但会产生禁用警告的开销 有点沉重,可能有点不安全。 尝试使用花式索引进行两次索引如下所示不会产生任何效果: 我认为这是因为复制是由于整

  • 我在这里发布了一些代码,正确地解决了海报上的一个问题。OP希望删除重复项,并将某些特殊项置于列表的顶部。我使用了一个和一个特殊的类,该类包装了他们正在使用的,以实现他们想要的。 然后我开始想。。。正如你所做的。。。我是通过从方法返回来消除重复,而不是通过从实现返回来消除重复,这是正确指示中的重复(根据的定义)所需要的。 我不反对使用这种技术,但我是否使用了可能被视为未记录的功能?我是否可以放心地认

  • 日安- 我正在处理一个任务,在该任务中,我有指令来创建一个名为的方法,该方法将执行以下任务: public int compare(Object first,Object second)(请注意,您还可以定义:public int compare(Attory first,Attory second),方法是让类 为此,我创建了一个类,如下所示: AthletenameComparator