如何比较long值等于Long值

时间:2010-12-19 15:57:25

标签: java

long a = 1111;
Long b = 1113;

if(a == b)
{
    System.out.println("Equals");
}else{
    System.out.println("not equals");
}

上面的代码在控制台中输出“等于”,这是错误的答案。我的问题是如何比较长变量值等于Long变量值。请尽快重播我。

谢谢你

7 个答案:

答案 0 :(得分:28)

首先,您的代码未编译。线     长b = 1113;

错了。你必须说

Long b = 1113L;

第二,当我修复了这个编译问题时,代码打印出“不等于”。

答案 1 :(得分:10)

按预期工作,

尝试检查IdeOneDemo

 public static void main(String[] args) {
        long a = 1111;
        Long b = 1113l;

        if (a == b) {
            System.out.println("Equals");
        } else {
            System.out.println("not equals");
        }
    }

打印

not equals 对我来说

使用compareTo()来比较Long,==在所有情况下都不起作用,只要缓存该值

答案 2 :(得分:7)

long a = 1111;
Long b = new Long(1113);

System.out.println(b.equals(a) ? "equal" : "different");
System.out.println((long) b == a ? "equal" : "different");

答案 3 :(得分:3)

一方面,Long是一个对象,另一方面long是原始类型。为了比较它们,您可以从Long类型中获取原始类型:

public static void main(String[] args) {
    long a = 1111;
    Long b = 1113;

    if ((b!=null)&&
        (a == b.longValue())) 
    {
        System.out.println("Equals");
    } 
    else 
    {
        System.out.println("not equals");
    }
}

答案 4 :(得分:1)

从Java 7开始,您可以使用java.util.Objects.equals(Object a, Object b)

  

这些实用程序包括null-safe或null-tolerant方法

Long id1 = null;
Long id2 = 0l;
Objects.equals(id1, id2));

答案 5 :(得分:1)

我将分享自Java 7以来我该怎么做 -

Long first = 12345L, second = 123L;
System.out.println(first.equals(second));

输出返回:false

和匹配的第二个例子是 -

Long first = 12345L, second = 12345L;
System.out.println(first.equals(second));

输出返回:true

所以,我相信equals方法可以比较Object的值,希望它对你有所帮助,谢谢。

答案 6 :(得分:0)

    public static void main(String[] args) {
        long a = 1111;
        Long b = 1113L;
        if(a == b.longValue())
    {
        System.out.println("Equals");
    }else{
        System.out.println("not equals");
    }
  }

or:

    public static void main(String[] args) {
        long a = 1111;
        Long b = 1113L;
        if(a == b)
    {
        System.out.println("Equals");
    }else{
        System.out.println("not equals");
    }
  }