[Java]深度剖析自动装箱与拆箱

本文介绍了Java中的自动装箱与拆箱机制,详细讲解了为何引入包装类、包装类的基本介绍,以及在面试中常见的关于Integer对象创建和比较的问题。通过对Integer.valueOf()方法的源码分析,解释了不同赋值方式导致的结果差异,并提供了相关面试题的解答。

目录

前言

一.基本数据类型与包装类的对应关系:

二.包装类基本介绍:

1.为何引入包装类:

2.自动装箱与拆箱

1)隐式拆装箱:

2)显示拆装箱:

三.面试常问:

1.以下代码结果为什么不同?

2.浅谈Integer i = new Integer(xxx)和Integer i =xxx;这两种方式的区别:

3.综合考察:

总结



前言

        Hellow!大家好,我是Node_Hao!今天给大家带来的是java包装类中的自动装箱与拆箱,虽然这不是一个很复杂的知识点,但其中的部分细节却是面试官经常问到的,希望这篇文章能带给你启发!


一.基本数据类型与包装类的对应关系:

基本数据类型        包装类           

byte

Byte
short Short
int  Integer
long Long
float Float
double Double
char Character
boolean Boolean

        由以上对应关系我们可以看出,基本数据类型的包装类,除了IntegerCharacter余都是首字母大写.

二.包装类基本介绍:

1.为何引入包装类:

        初学包装类我们都非常疑惑,既然已经有了基本数据类型,为什么需要包装类?其实,随着我们对java面向对象的理解不断深入,我们会发现在万物皆对象的java语言中,其基本数据类型居然不是面向对象的,这不仅给类型之间的转化带来了很多麻烦,在基本数据类型的基础上也很难有更多的操作,为了解决这类问题在JDK1.5引入了两个功能:1.自动装箱  2.自动拆箱.

评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Node_Hao

您的支持是我创作的不懈动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值