【发布时间】:2013-05-28 04:13:43
【问题描述】:
以下内容:
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 与== 进行比较,但我认为将int 与Integer 进行比较会有所不同。为什么不是这样?
我假设在这种情况下使用== 将无法用于比较参考,那么我们将如何做(不确定这是否实用,但我想知道)?
【问题讨论】:
标签: java