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

时间:2014-03-18 11:53:44

标签: java android equals equals-operator

我不能将equals用于长值:

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

错误:无法在原始类型long

上调用equals(long)

同样==不适用于长值。

如何检查长值是否等于?

4 个答案:

答案 0 :(得分:4)

==可以使用长值。

答案 1 :(得分:4)

==运算符用于比较用于比较primitive的{​​{1}}值和equals()方法

因为Object是基本类型,所以你必须使用long运算符作为原始类型数据,如下所示......

==

if(a == b ) { //do } 用于比较2 equals()ObjectLong类型的Object。如果您将实例声明为long类型,则可以使用Long方法,如下所示...

equals()

答案 2 :(得分:2)

对于primitive data types,您应该使用==

对于objects,您应该使用equals函数。

在你的情况下,它将是:

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

答案 3 :(得分:1)

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

Long a = new Long(20);
Long b = new Long(20);
if(a.equals(b))