26得票5回答
如何在Java中使用Comparable CompareTo处理字符串?

我可以使用它按员工ID排序,但我不确定是否可以比较字符串。 我收到了一个错误,指出字符串没有定义运算符。public int compareTo(Emp i) { if (this.getName() == ((Emp ) i).getName()) ...

25得票1回答
未记录的 String.compareTo(null) 导致 NPE?

下面这个小测试会抛出一个NPE:public class Test { public static void main(String[] args) { String a = "a"; String b = null; Syste...

23得票6回答
为什么如果compareTo()返回0就暗示着对象相等?

让我们创建一个名为Person的类。人有姓名和身高。 equals()和hashCode()方法只考虑姓名。Person是可比较的(或者我们为其实现了比较器,不管哪种方式),按照身高进行比较。 很可能会出现两个不同人的身高相同的情况,但例如TreeSet的行为是compareTo()==0表示...

21得票5回答
Scala多条件排序的惯用语法

我想做类似这样的事情:class Foo extends Ordered[Foo] { val x val y val z . . . . def compare(that: Foo) = { val c0 = this.length...

21得票6回答
当参数字符串为null时,int compareTo()应该返回什么?

据说,当输入参数为空时,compareTo() 应该抛出 NullPointerException。然而,我正在实现一个需要比较类型为 String 的字段的类。这些字段不需要是必需的。我想知道,在这种情况下, 1)当输入为 null 时应该返回什么?任何非空字符串在字典序上大于或小于 nu...

20得票5回答
自动检查equals、hashCode和compareTo的一致性的技术是什么?

我很清楚合同需要确保hashCode与equals一致,equals与compareTo也一致。然而,在实践中,这经常被违反。是否有任何工具、技术或库可以自动测试这种一致性? 不幸的是,我怀疑答案是否定的,但能够有一个单元测试来检测这种事情并利用库调用或框架将会很有用,而不需要为每个重要的情...

18得票4回答
如何为特定类编写hashCode方法?

我正在尝试为我的简单类生成hashCode()方法,但是我一直没有进展。我需要帮助。我已经实现了equals()方法,如下所示,并且还想知道是否需要实现compareTo()方法。我已经导入了java.lang.Character来使用character.hashCode(),但似乎不起作用。...

15得票5回答
如何对包含空元素的对象数组进行排序?

在我的程序中,创建了一个固定长度为7的对象数组fClasses,每个对象都是一个类FClass,包含3个字符串,一个int和一个int[]。这些值从一个.txt文件中读取,并根据int的值添加到数组的特定索引位置。.txt文件中的条目数量少于数组中的索引数量,因此数组最终看起来像这样: fC...

13得票2回答
使用compareTo实现equals方法

一般问题:在Java中实现重写默认的equals方法时,我是否应该考虑仅利用已实现的compareTo方法而不是将独立逻辑编写到equals方法中? 我注意到另一个问题中有人提到foo.equals((String)null)返回false,而String.compareTo((String)...

12得票1回答
在F#元组中实现自定义比较的方法:使用CustomComparison和CustomEquality。

我来这里询问一个具体的话题 - 我在网络上确实很少找到关于这方面的信息。我正在实现一个F#版本的Minimax算法。我现在遇到的问题是,我想比较我的树(下面是数据结构)的叶子节点。通过查找VS给出的错误信息,我得到了以下代码: 我之前使用的树类型:type TreeOfPosition = ...