包装类
Last updated
Was this helpful?
Last updated
Was this helpful?
概述:java是面向对象语言,在实际的开发中经常需要把基本数据类型转为对象。所以包装类(Wrapper class)的作用就是把基本类型转为包装类型(对象)。
关于基本类型和包装类型请看表格:
基本类型
包装类型
byte
Byte
short
Short
int
Integer
long
Long
float
Float
double
Double
boolean
Boolean
char
Character
除Boolean和Charcater以外,其它六个包装类都继承了Number类
让我们查看Number类的源码,在idea中按照下图操作。
查看Number类的所有方法
图中六个方法都是抽象方法,所有继承的包装类必须重写。
示例:
概述:JDK1.5后提供的功能。
自动装箱:基本类型转包装类型。
自动拆箱:包装类型转基本类型。
示例:
==运算结果不一致是因为自动装箱的方法Integer.valueOf()。
我们去查看源码:
看到有一个IntegerCache再点进去
看到一个缓存数组,这些源码的意思是系统初始化时,会创建一个值在[-128,127]之间的数组,如果值是在这个范围内,则对象地址值一致(同一个对象)反之就是别的对象。
所以代码中a和b的对象值不一致,结果为false。
示例: