java 基础问题,Integer 包装类?

2025-03-31 16:33:24
推荐回答(5个)
回答(1):

n是对象,m是基本类型,这里面涉及到一个自动打包解包的过程,如果jdk版本过低的话没有这个功能的,所有输出的是false,估计你的书本是针对老版本的jdk而编写的,现在新版本的jdk都有自动打包解包功能了。

回答(2):

首先在Java里面,==比较的是内存地址,不是地址里面的内容,所以一般都不用==进行比较的,用equal会好一下,再来你用integer创建的是两个对象,肯定会位于不同的内存地址里面,用==来比较肯定会返回false的,如果jdk版本高一点的话,也会返回true的,因为jdk会帮你把对象自动拆箱,变成基本类型,没有的话,你试试用intege里面的intvalue方法进行拆箱之后,再进行比较,就返回true了

回答(3):

Integer 这是对象,用==是比较对象的指针地址的。int 不是对象,是基本数据类型没有指针的意思,用==比较的是值。

回答(4):

int 是基本数据类型
Integer是其包装类,注意是一个类。
为什么要提供包装类呢???
一是为了在各种类型间转化,通过各种方法的调用。否则 你无法直接通过变量转化。
比如,现在int要转为String
int a=0;
String result=Integer.toString(a);
在java中包装类,比较多的用途是用在于各种数据类型的转化中。

因此int可以用来比较值大小,但是integer是用来转化的,不能用来比较值大小。

回答(5):

对象比较用equals