long a = 1111;
Long b = 1113;
if(a == b)
{
System.out.println("Equals");
}else{
System.out.println("not equals");
}
上面的代碼在控制檯中輸出「equals」,這是錯誤的答案。我的問題是如何比較長變量值是否等於Long變量值。請儘快重播我。如何比較long值等於Long值
Thankh你
long a = 1111;
Long b = 1113;
if(a == b)
{
System.out.println("Equals");
}else{
System.out.println("not equals");
}
上面的代碼在控制檯中輸出「equals」,這是錯誤的答案。我的問題是如何比較長變量值是否等於Long變量值。請儘快重播我。如何比較long值等於Long值
Thankh你
首先你的代碼沒有編譯。 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 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是一個原始類型。爲了比較它們,你可以得到基本類型出長型:
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):
這些工具包括空安全或零容忍方法
Long id1 = null;
Long id2 = 0l;
Objects.equals(id1, id2));
我將分享如何做呢,因爲Java的7 -
Long first = 12345L, second = 123L;
System.out.println(first.equals(second));
輸出返回:匹配的假
和第二個例子是 -
Long first = 12345L, second = 12345L;
System.out.println(first.equals(second));
輸出返回:真
所以,我相信等於比較對象的值的方法,希望它可以幫助你,謝謝。
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");
}
}
此代碼不會編譯。第二行需要很長的值,並且您提供了一個int。它應該是長b = 1113L;即便如此,它確實打印出正確答案。 – 2010-12-19 16:01:40