我正在编写一个BankAccount
类,该类将一堆银行帐户放入数组列表中,并根据其帐号进行排序。我写的compareTo()
方法如下:
public int compareTo(BankAccount another){
if (Integer.parseInt(this.getAccountNumber()) > Integer.parseInt(another.getAccountNumber()))
return 1;
else if(Integer.parseInt(this.getAccountNumber()) < Integer.parseInt(another.getAccountNumber()))
return -1;
else
return 0;
在我的主要方法中,accounts
是数组列表的变量。当我尝试执行操作Collections.sort(accounts);
时无法执行此操作。它给我一个错误,说出诸如“无法从参数实例化,因为实际参数和形式参数的长度不同”和“推断的类型不符合声明的边界”之类的错误。我以为这是由于我没有重写compareTo()
方法,但是当我尝试这样做时@Override it
,它说“方法不会重写或实现超类型的方法”。我不明白问题是什么。任何帮助,将不胜感激。
您的BankAccount
类应该实现该java.lang.Comparable<BankAccount>
接口,看来您的代码中不是这种情况。确实,Collection.sort
正在以的集合Comparable<T>
作为论据。
我被要求写一个student.compareTo方法,如果两个学生的名字和两个学生的姓氏相同,则该方法应返回0。如果学生的名字按字典顺序排序低于传入的名字,则应返回负值。如果学生的名字按字典顺序排序高于传入的名字,则应返回正值。 这是我到目前为止的代码。对于负值和正值,它应该是固定值还是我应该使用compareTo值? 这是另一个代码。我想知道我是否做对了
当实现Comparable接口并重写compareTo方法时, 第三行,我意识到当我重写它时,我可以使用compareTo,它会自动按照自然顺序进行比较。但是在可比较的界面中,它不是一个抽象的方法。没有定义它,它还可以比较吗?还有,为什么我不需要使用super关键字来区分这个比较。
本文向大家介绍C#中的UInt32.CompareTo()方法与示例,包括了C#中的UInt32.CompareTo()方法与示例的使用技巧和注意事项,需要的朋友参考一下 C#中的UInt32.CompareTo()方法用于将当前实例与指定的对象或UInt32进行比较,并返回其相对值的指示。 语法 以下是语法- 上面,第一种语法的Val是要比较的对象。第二语法的Val是要比较的无符号整数。 如果当
本文向大家介绍Java中替代equals,compareTo和toString的方法,包括了Java中替代equals,compareTo和toString的方法的使用技巧和注意事项,需要的朋友参考一下 我们都曾在POJO中重写过equals(),compareTo()和toString()方法。但是另有其他能做到职责分离的更好的方法并带来更简洁的代码。阅读这篇文章来一探究竟吧! 更简明的职责——
本文向大家介绍Java字符串compareTo()方法,包括了Java字符串compareTo()方法的使用技巧和注意事项,需要的朋友参考一下 您可以使用方法或,方法或或==运算符比较字符串。下面的示例演示如何在Java中初始化和比较字符串。 示例 输出结果
null }