1.什么是包装类?
- 基本数据类型所对应的引用数据类型。
- Object可统一所有数据,包装类的默认值是null。
2.类型转换与装箱,拆箱
- 8种包装类提供不同类型间的转换方式:
- Number父类中提供的6个共性方法。
- parseXXX()静态方法。
- valueOf()静态方法。
- 注意:需要保证类型兼容,否则抛出NumberFormException异常。
装箱:基本类型转成引用类型的过程
拆箱:引用类型转成基本类型
public static void main(String[] args){
//基本类型
int num1=18;
//使用Integer类创建对象
//装箱
Integer integer1=new Integer(num1);
Integer integer2=Integer.valueof(num1);
//拆箱
Integer integer3=new Integer(100);
int num2=integer3.intValue();
//JDK1.5之后,提供自动装箱和拆箱
int age=30;
//自动装箱
Integer integer4=age;
//自动拆箱
int age2=interger4;
}
- parseXXX()静态方法。
基本类型转成字符串
int n1=100;
//1.1使用+号
String s1=n1+"";
//1.2使用Integer中的toString()方法
String s2=Integer.toString(n1,16);
String s2=Integer.toString(n1);
字符串转成基本类型
String str="150";
//使用Integer.parseXXX();
int n2=Integer.parseInt(str);
System.out.println(n2);
boolean字符串转成基本类型,“true”—>true 非"true"—>false
String str2="true";
boolean b1=Boolean.parseBoolean(str2);
Integer缓冲区
整数缓冲区
- java预先创建了256个常用的整数包装类型对象。
- 在实际应用当中,对已创建的对象进行复用。
面试题
Integer integer1=new Integer(100);
Integer integer2=new Ineger(100);
System.out.println(interger1==interger2);//false
Integer integer3=100;//自动装箱
//Integer integer3=Integer.valueOf(100);
//valueOf方法中有数组存储在一个数组中,范围是-128~127将值就放回给栈空间的对象
Integer integer4=100;
//Integer integer4=Integer.valueOf(100);
System.out.println(integer3==integer4);//true
Integer integer5=200;//自动装箱
//Integer integer5=Integer.valueOf(200);
//范围超过数组127的范围则执行new Integer()
Integer integer6=200;
System.out.println(integer5==integer6);//false