[英]how should I compare Double value with Long.MAX_VALUE? and Long.MAX_VALUE+1d
[英]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.