![af0d0402acb01e7eeec539160d8eec0c.png](https://img-blog.csdnimg.cn/img_convert/af0d0402acb01e7eeec539160d8eec0c.png)
不是井里没有水,而是你挖的不够深。不是成功来得慢,而是你努力的不够多。
包装类
- 为什么要有包装类?因为java是一门面向对象的语言,本着万物皆对象的原则设计了包装类,用来方便对基本数据类型的操作。
- 所有的数字类型的包装类都继承自Number类
- byte->Byte
- short->Short
- int->Integer
- float->Float
- double->Double
- char类型的包装类是Character
- boolean类型的包装类是Boolean
拆箱与装箱
- 自动装箱:基本类型自动转化为包装类
- 手动装箱:手动将基本类型转化为包装类
- 自动拆箱:包装类自动转化为基本类型
- 手动拆箱:手动将包装类转化为基本类型
// 自动装箱 将基本类型int转化为Integer包装类
Integer int1 = 123;
// 手动装箱
Integer int2 = new Integer(123);
//自动拆箱 将Integer包装类转化为int
int int3 = int2;
//手动拆箱
int int4 = int2.intValue();
- 自动装箱,相当于调用了,Integer的valueOf方法,这个方法会先判断这个值是否在-128和127之间,如果在的话就从缓存中(类初始化的时候通过static的静态加载存放了一个catch的变量在方法区中作为缓存)去获取,不在则会new一个新的包装类,
Integer int1 = 123;
Integer int2 = 123;
System.out.println(int1 == int2);// 输出true
Integer int3 = 128;
Integer int4 = 128;
System.out.println(int3 == int4); // 输出false
本文作者《猿氏·凯》,如果雷同,纯属抄袭····