我有一个简单的java类
public class T {
public static void main(String[] args) {
Integer x = 0;
Integer y = 0;
Integer a = 255;
Integer b = 255;
System.out.println( (x==y) );
System.out.println( (a==b) );
}
控制台输出结果为:
true
false
为什么将 x 与 y 进行比较的输出与将 a 与 b 进行比较不同? 为什么Java不能为小int值创建对象?
答案 0 :(得分:1)
如果要比较Java中的对象,请使用.equals()
。
public class T {
public static void main(String[] args) {
Integer x = 0;
Integer y = 0;
Integer a = 255;
Integer b = 255;
System.out.println( (x.equals(y)) );
System.out.println( (a.equals(b)) );
}
使用==
,您只需比较两个对象的引用,它们将不相同。
仅在比较原始值时使用==
。