社区
Java
帖子详情
int i = 1;Integer b = new Integer(1); i==b 为true
其实我是个好人
2014-11-21 09:56:30
基本数据类型存放在栈中,引用也存放在栈中,所以1,i,b应该都在栈中,而b的实例对象在堆中。是否堆中存放实例对象的地址,而实例对象的值任然是栈中的那个1呢?
...全文
243
3
打赏
收藏
int i = 1;Integer b = new Integer(1); i==b 为true
基本数据类型存放在栈中,引用也存放在栈中,所以1,i,b应该都在栈中,而b的实例对象在堆中。是否堆中存放实例对象的地址,而实例对象的值任然是栈中的那个1呢?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
其实我是个好人
2014-11-21
打赏
举报
回复
以前不知道有装箱拆箱这回事,现在知道了
yanggang832
2014-11-21
打赏
举报
回复
同意楼上的说法
姜小白-
2014-11-21
打赏
举报
回复
比较的应该是 1 == b.intValue() 有个自动拆箱的操作
java中
int
与
Int
eger
用==比较详解
前言: 越是简单的东西,我们往往越是没有去把它明白,但我们大部分时间又常常在用,就像我们今天说的
int
与
Int
eger
的使用,我们程序员基本天天都在用,但是我今天没用详细弄清楚之前我也是不清楚,我们来看看这两个在用==号比较给我们带来的疑问。 先看看下面的代码,看看我们是否都会 @Test public void testEquals() {
int
int
...
int
i=1;
int
eger
j=1;
Int
eger
k=
new
Int
eger
(1);
int
i=1;
int
eger
j=1;
Int
eger
k=
new
Int
eger
(1); 对于 一个
int
类型的数 和 一个
int
eger
类型的数 使用 == 比较,那么
int
eger
会自动拆箱成
int
类型,这样比较两个数的值。 而: 像这种情况,两个包装类,从127到
int
eger
的时候,会被自动装箱,调用
int
eger
的valueOf()这个方法, 这个方法在-128...
Java中
Int
、
Int
eger
、
new
Int
eger
()之间的区别
Java中有八种基本数据类型,
Int
是其中之一。而
Int
eger
是
Int
的封装,即
Int
eger
其实是一个对象。可以通过
new
来创建一个
Int
eger
对象,也可以直接将
Int
值赋给
Int
eger
变量。它们之间的区别如下: 一:
Int
Int
是Java八种基本数据类型之一,一般大小为4字节32位,取值范围为2^-31—2^31。两个
Int
类型变量用“==”比较的是内容的大小。 例如:
int
a...
Int
eger
a = 100, b = 100; a == b 为
true
;而
Int
eger
c = 1000, d = 1000; c == d为false
Int
eger
a = 100;
Int
eger
b = 100; System.out.pr
int
ln(a == b);
Int
eger
c = 1000;
Int
eger
d = 1000; System.out.pr
int
ln(c == d); 运行结果
true
false 大家都知道,对于引用类型,比较两个对象引用的是同一个地址,那么==比较后结果为
true
,如果是不同引用,由于地址值不一样,==比较后结果为f..
Java
51,407
社区成员
86,124
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章