老师关于这一节中包装类和基本数据类型是否相等还有问题请看下的

来源:2-17 需要知道的几点知识(中)

吹吹风泡泡茶

2022-01-27 00:04:40

https://img.mukewang.com/climg/61f17091093b6a8300000000.jpg

就是老师我想问下,three==100的时候也说了会执行自动拆箱操作,就是把three从包装类又转换成基本数据类型了,那么下面的fou(包装类)==three(基本数据类型) 这个为什么是相等的了?这时候不应该是不相等吗?

搜索

复制

写回答

1回答

好帮手慕小蓝

2022-01-27

    同学你好,这里需要分别进行分析:

    1.three == 100 处,这里由于运算符右侧是基本数据类型,引用类型需要转换为基本数据类型才可以进行对比,所以此处将Integer类型转换为int类型,也就是拆箱操作。

    2.three和four两个变量的数据类型都是Integer,所以对比时是两个引用类型做对比。但是Integer类型中,存在缓存区,即两个变量都指向同一个对象。所以此处的结果为true。相关知识在课程12分钟左右有讲解:    https://class.imooc.com/lesson/2067#mid=49117

    祝学习愉快~


0

0 学习 · 9886 问题

查看课程