具有以下内容:
String a = new String("test");
String b = "test";
System.out.println(a == b); //false
我们得到错误,因为String a
它是一个对象,所以a
指向与字符串文字不同的内存位置,b
. 我想看看这是如何工作的,int
并且Integer
:
Integer x = new Integer(5);
int y =5;
System.out.println(x == y); //true
我虽然那x.equals(y)
会是真的,但x == y
会是假的,因为在Strings
. 我知道我们与 进行比较ints
,==
但我认为将 anint
与 an进行比较Integer
会有所不同。为什么不是这样?
我假设在这种情况下 using==
不能用于比较参考,那么我们将如何做(不确定这是否实用,但我想知道)?