[Java基础揉碎]包装类 && 继承图查看所有方法

本文详细介绍了Java中的包装类,包括其分类、转换机制(手动与自动)、常用方法,以及Integer类面试题中的自动装箱和拆箱原理。还讨论了包装类型转String时的注意事项和面试中的相关问题.
摘要由CSDN通过智能技术生成

目录

包装类的分类

继承图 

​编辑 包装类和基本数据的转换

面试题

包装类型转String

字符串转包装类 

 包装类的常用方法

继承图查看所有方法

​编辑

Integer类面试题

看看下面代码,输出什么结果?为什么?

以上题的答案: false true false


 

包装类的分类

1.针对八种基本数据类型相应的引用类型一包装类。

2.有了类的特点,就可以调用类中的方法。

继承图 

 

 包装类和基本数据的转换

1)jdk5前的手动装箱和拆箱方式,装箱:基本类型->包装类型,反之,拆箱

2)jdk5以后(含jdk5)的自动装箱和拆箱方式

3)自动装箱底层调用的是valueOf方法,比如Integer.valueOf()

演示包装类和基本数据类型的相互转换,这里以int 和 Integer演示:

面试题

如下两个题目输出结果相同吗?各是什么?

答:都为true时, 上面输出的是1.0, 因为三元运算符是一个整体, Double的精度最高, 提升了优先级

下面输出的是1, if-else是单独的语句, 不会提升优先级

包装类型转String

 注意.toString在i为null时, 会报空指针异常, 因为i还没有创建出来就去调用了方法, String.valueOf()不会, 查看源码会发现进行了null判断

字符串转包装类 

 包装类的常用方法

Integer类和Character类的常用方法

继承图查看所有方法

在继承图中可以直接点击图标查看它的所有方法

怎么进入这个继承图看下面链接- 目录>继承图怎么查看的

[Java基础揉碎]异常-CSDN博客

在继承图中点击下面图标可以看到它的属性

 可以通过Jump to Source查看它的源码

Integer类面试题

看看下面代码,输出什么结果?为什么?

Integer m = 1;

Integer n = 1;

这里用了自动装箱, 其实底层是调了 valueOf 这个方法, 源码可以看到, valueOf在一个值传进去之后先去判断是否在一个范围内, 在这个范围内直接返回, 如果不在这个范围内再去new 一个新的对象

 这个范围到底是多少看注释是-128 到 正的127

或者通过 ctrl + b 追进去 

 

以上题的答案: false true false

 题增加

以下只要只有基本数据类型, 判断的就是值是否相等

断点进入可以看到, 因为在比较的时候自动将Integer进行了自动拆箱, 返回了int , int 和int 比较就是值比较

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值