1.装箱与拆箱
装箱:就是把一个基本数据类型直接赋值给对应的包装类或赋值给Object变量
拆箱:就是允许把一个包装类对象赋值给一个对应的基本类型变量
装箱:
Integer inObj=5;
基本数据 包装类
int(4字节)
|
Integer
|
byte(1字节)
|
Byte
|
short(2字节)
|
Short
|
long(8字节)
|
Long
|
float(4字节)
|
Float
|
double(8字节)
|
Double
|
char(2字节)
|
Character
|
boolean(未定)
|
Boolean
|
内部实现 ?xxx为基本数据类型
装箱:调用valueOf(xxx)方法
拆箱:调用xxxValue()方法
基本类型变量和字符串的转化?
字符串转int
String aa="123";
int it1=Integer.parseInt(aa);
int it2=new Integer(aa);
字符串转float
float ft1=Float.parseFloat(aa);
float ft2=new Float(aa);
float转String
String ftStr=String.valueOf(2.345f);
double转String
String dbStr=String.valueOf(3.344);
boolean转String
String boolStr=String.valueOf(true);
基本类型转字符串更简便方法?
String intStr=5+"";
java1.5后自动装箱的特别情况
Integer ina=2;
Integer inb=2;
Integer inc=128;
integer ind=128;
ina==inb 结果true
inc==ind结果false
原因是:java.lang.Integer源码中将-128-127之间的整数自动装箱成Integer实例,并放入cache数组储存起来在范围内的整数自动装箱后,实例指向对应的数组元素,超过范围的整数装箱后,系统总是重新创建一个实例。