基本数据类型对象包装类:
为了方便操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为丰富了该数据的操作,用于描述该对象的类就称为基本数据类型对象包装类。
基本数据类型 | 包装类 |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Charrcter |
boolean | Boolean |
特点:
1,该包装对象主要用基本类型和字符串之间的转换。
2,基本类型--->字符串
1)基本类型数值+""
2)用String类中的静态方法valueOf(基本类型数值);
3)用Integer的静态方法valueO(基本类型数值);
3, 字符串--->基本类型
1)使用包装类中的静态方法 xxx parseXxx("xxx类型的字符串");
int parseInt("intstring"); long parseLong("longstring"); boolean parseBoolean("booleanstring"); 只有Character没有parse方法
2)如果字符串被Integer进行对象的封装,可使用另一个非静态的方法,intValue();将一个Integer对象转成基本数据类型值。
Integer具备不同的进制体现。
十进制-->其他进制。
toBinaryString-------------------------------------转换为2进制
toOctalString---------------------------------------转换为8进制
toHexString-----------------------------------------转换为16进制
toString(x,a)----------------------------------------将x转换为a进制
其他进制-->十进制。
parseInt("string",radix)
JDK1.5以后的新特性——自动装箱&自动拆箱
例:
Integer i = 4;//i = new Integer(4);自动装箱 简化书写。 i = i + 6;// i = new Integer(i.intValue() + 6); //i.intValue() 自动拆箱
面试常考题:下面的代码运行结果是什么?
Integer x = 127; Integer y = 127; Integer z = 128; Integer k = 128; System.out.println(x==y); System.out.println(x.equals(y)); System.out.println(k==z); System.out.println(k.equals(z));
运行结果:
分析:jdk1.5以后,自动装箱,如果装箱的是一个字节,那么该数据会被共享不会重新开辟空间。