簡體   English   中英

如何比較long值等於Long值

[英]How to Compare a long value is equal to Long value

long a = 1111;
Long b = 1113;

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

上面的代碼在控制台中輸出“等於”,這是錯誤的答案。 我的問題是如何比較長變量值等於Long變量值。 請盡快重播我。

謝謝你

首先,您的代碼未編譯。 線長b = 1113;

是錯的。 你不得不說

Long b = 1113L;

第二,當我修復了這個編譯問題時,代碼打印出“不等於”。

它按預期工作,

嘗試檢查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, == wil在所有情況下都不起作用,只要該值被緩存

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

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

一方面,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");
    }
}

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

這些實用程序包括null-safe或null-tolerant方法

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

我將分享自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方法比較對象的價值,希望它能幫到你,謝謝。

    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");
    }
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM