-5

我不能使用equals长值:

    long a = 20; //or 20L
    long b = 20; //or 20L
    if(a.equals(b)) {
        //do
    }

错误:无法在原始类型 long 上调用 equals(long)

也不==适用于长值。

如何检查长值是否等于?

4

4 回答 4

5

==确实适用于长值。

于 2014-03-18T11:55:05.087 回答
4

==用于比较primitive值的运算符和equals()用于比较的方法Object

因为,long是原始类型,所以您必须==对原始类型数据使用运算符,如下所示...

if(a == b ) {
    //do
}

equals()用于比较 2Object并且Long是的Object类型long。如果您将实例声明为Long类型,则可以使用equals()以下方法...

Long a = 20;
Long b = 20;

if(a.equals(b)) {
    //do
}
于 2014-03-18T11:55:32.983 回答
2

对于原始数据类型,您应该使用==.

对于对象,您应该使用该equals功能。

在您的情况下,它将是:

long a = 20; //or 20L
long b = 20; //or 20L
if(a == b) {
    //do
}
于 2014-03-18T11:56:41.987 回答
1

==适用于long,如果你想使用equals

Long a = new Long(20);
Long b = new Long(20);
if(a.equals(b)) 
于 2014-03-18T11:58:30.587 回答