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