如何正确使用原始类型

时间:2014-03-24 12:01:50

标签: java

int x = 10;
int y = 10;

Integer x1 = new Integer(10);
Integer y1 = new Integer(10);

System.out.println(x == y);
System.out.println(x1 == y1);

第一个sop将打印为true,而第二个将打印为false。实际问题是什么?

3 个答案:

答案 0 :(得分:2)

第二种方法不是检查值而是检查对象。

如果要比较2个整数对象的值,则必须使用适当的方法,如compareTo(Integer)

如评论中所述,如果您只想检查相等性,可以使用equals

答案 1 :(得分:2)

第二个是比较Object Id。因为每个对象都有一个唯一的Id,所以它返回false。

答案 2 :(得分:0)

第一次打印为true,因为int x和y包含10的相同位模式。

在第二种方法中,x1和y1都是整数类型的不同对象引用变量,因此它们指向内存中的不同对象,这就是为什么在第二次使用中你会得到错误。

如果要检查两个Integer的相等性,可以使用

x1.equals(y1) 

它将返回true。