java基础整理の自动装箱雨拆箱(包装类)

来源:互联网 发布:弦歌知雅意 编辑:程序博客网 时间:2024/06/06 00:07

自动装箱:自动把基本数据类型转换成引用数据类型

自动拆箱:自动把引用数据类型转换成基本数据类型

我以Integer类为例


Integer类内部其实是维护了一个静态数组,该数组内部存储了-128~127(常用数据),

当创建Integer对象时,如果范围在数组范围内,则直接从数组获取,不会创建对象。(能够减少创建的对象,减少内存消耗)


为什么是-128~127这个方法呢?

开始我也纠结了一段时间。

后来发现,其实没什么特别的,主要是这个范围使用的频率最大

多了,人家不用,浪费内存

少了,要创建的对象多了,还是浪费内存。


值得一提的是,我曾以为

Integer a = new Integer(3);int b = 3;

代码是a和b不能做运算的,其实是可以的

Integer a = new Integer(130);System.out.println(a);int b = 3;System.out.println(a+b);

这是因为java会自动帮我们装箱与拆箱


0 0
原创粉丝点击