在java中编写公共int compareTo()方法

在java中编写公共int compareTo()方法,java,Java,我有一个任务,需要使用参数(String bookNum、String bookTitle、int qoh、double bookPrice)创建BookInventory对象的arraylist。其中bookNum是一本书的带连字符的ISBN编号。创建这个数组之后,我需要使用Collections类的sort方法。在我的entity BookInventory类中,我需要编写一个compareTo(),它最终将按bookNum(一个字符串)对arraylist进行排序。我该怎么做?这是我第一次

我有一个任务,需要使用参数(String bookNum、String bookTitle、int qoh、double bookPrice)创建BookInventory对象的arraylist。其中bookNum是一本书的带连字符的ISBN编号。创建这个数组之后,我需要使用Collections类的sort方法。在我的entity BookInventory类中,我需要编写一个compareTo(),它最终将按bookNum(一个字符串)对arraylist进行排序。我该怎么做?这是我第一次体验这个,我不明白

这应该让您开始:

public class BookInventory  implements Comparable<BookInventory> {

  // code

  public int compareTo(BookInventory other){
    return bookTitle.compareTo(other.bookTitle);
  }

  //code
}
公共类BookInventory实现可比较{
//代码
公共整数比较(簿记存货其他){
返回bookTitle.compareTo(其他.bookTitle);
}
//代码
}
从中可以得到的是实现Comparable,这样您就可以实现自己的自定义compareTo方法,该方法在对ArrayList排序时自动调用

要阅读有关compareTo和订购的更多信息,请查看以下内容:

如果您查看该类,您将看到它实现了两种
排序方法。可以使用任何类型的
列表
以及
比较器
对象来比较列表中的元素。另一个获取任何类型的对象的
列表
,该对象实现了
可比
。由于
compareTo
是由
Comparable
定义的(而
Comparator
必须实现
compare
),这告诉您必须将类声明为
implements Comparable
,这意味着它必须具有
compareTo
方法。有关方法必须执行的操作,请参阅。您会发现
String
方法
compareTo(String)
非常有用。

compareTo()方法用于比较具有多个属性的两个对象。 它将返回一个整数,以指示比较的对象中哪一个更大。 如果要比较的对象具有自然顺序的属性,则更有意义

返回值:

  • 小于0->表示对象在传入对象之前。
  • 大于0->对象在传递的对象之后
  • 等于0->两个对象处于同一级别

糟糕透了。胖手指打字。最后一个选项应为“等于0”@保罗祝福。感谢大家快速注意,与重写equals不同,此处的输入参数不应为Object类型。