Java 如何正确使用基元类型

Java 如何正确使用基元类型,java,Java,第一个sop将打印为真,而第二个sop将打印为假。实际问题是什么?第二种方法不是检查值,而是检查对象 如果要比较两个整数对象的值,必须使用适当的方法,如 如注释中所述,如果只想检查相等性,则可以使用第二种方法不是检查值,而是检查对象 int x = 10; int y = 10; Integer x1 = new Integer(10); Integer y1 = new Integer(10); System.out.println(x == y); System.out.println(

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

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

如果要比较两个整数对象的值,必须使用适当的方法,如


如注释中所述,如果只想检查相等性,则可以使用

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

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);
如果要比较两个整数对象的值,必须使用适当的方法,如


如注释中所述,如果您只想检查是否相等,则可以使用第二个选项来比较对象Id。由于每个对象都有一个唯一的Id,因此返回false。

第二个选项是比较对象Id。由于每个对象都有一个唯一的Id,因此返回false。

第一个sop打印为true,因为int xy包含10的相同位模式

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);
在第二种方法中,x1和y1都是整数类型的不同对象引用变量,所以它们指向内存中的不同对象,这就是为什么在第二种sop中,您将得到false

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

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,因为int x和y包含10的相同位模式

在第二种方法中,x1和y1都是整数类型的不同对象引用变量,所以它们指向内存中的不同对象,这就是为什么在第二种sop中,您将得到false

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

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);

它会变成现实

这种问题已经被问过/回答过很多次了。。。谷歌的第一个第二个有不同的目标,所以这种问题可能重复被问/答了很多次。。。谷歌的第一个第二个有不同的对象,所以可能重复的吗