Java 与整数比较

Java 与整数比较,java,compareto,Java,Compareto,我正在尝试将compareTo与整数一起使用,但它不允许我使用。救命啊!这是我的密码: public int compareTo(Book book) { if (this.author.compareToIgnoreCase(book.author) < 0) return -1; if (this.author.compareToIgnoreCase(book.author) > 0) return 1; if (this.auth

我正在尝试将compareTo与整数一起使用,但它不允许我使用。救命啊!这是我的密码:

public int compareTo(Book book)
   {
       if (this.author.compareToIgnoreCase(book.author) < 0) return -1;
       if (this.author.compareToIgnoreCase(book.author) > 0) return 1;
       if (this.author.equalsIgnoreCase(book.author))
       {
           if (this.numOfPages.compareTo(book.numOfPages) < 0) return -1;
           else if (this.lyrics.compareToIgnoreCase(song.lyrics) > 0) return 1;
           else if (this.lyrics == song.lyrics) return 0;
           else return 1;
       }
       return 0;
   }
public int compareTo(书本)
{
if(this.author.compareTIgnoreCase(book.author)<0)返回-1;
如果(this.author.compareTIgnoreCase(book.author)>0)返回1;
if(本.作者.相等信号案例(书.作者))
{
如果(this.numopages.compareTo(book.numopages)<0)返回-1;
否则如果(this.lymps.compareTignoreCase(song.lymps)>0)返回1;
else if(this.lysts==song.lysts)返回0;
否则返回1;
}
返回0;
}

我猜您将numOfPages定义为:

int numOfPages;  //primitive integer
如果改为使用对象表示法
int
,它应该可以工作

例如:

Integer numOfPages; //object integer

this.numOfPages和book.numOfPages等的数据类型是什么?如果它们是小的
int
s,您可能需要执行
新整数(this.numOfPages)。比较(book.numOfPages)
可能?原语不是对象,因此您不能对它们调用方法,只需使用
=
即可。我们开始吧!让它发挥作用。我用了所有东西的组合,只是把它弄得乱七八糟。。。你知道的。。。你可以只做
numopages
她正在尝试使用compareTo方法,显然使用==更好,但如果你坚持使用compareTo,那么这就是一种方法。