前提:为什么要引入包装类?
为了使基本数据类型的变量具有类的特征
- 8种基本数据类型对应的包装类:
整数类型:byte(8位),short(16位),int(32位),long(64位)
包装类:Byte,Short,Integer,Long
浮点类型:float(单精度32位),double(双精度64位)。
包装类:Float,Double
字符类型:char(16位UNICODE字符)
包装类Character
布尔类型:boolean
包装类:Boolean
- jdk5.0之后提供了自动装箱和自动拆箱:
//自动装箱:基本数据类型==》包装类
int num2 = 10;
Integer in1 = num2;
boolean b1 = true;
Boolean b2 = b1;
System.out.println("自动装箱测试:"+ in1);
System.out.println("自动装箱测试:"+ b2);
//自动拆箱:包装类==》基本数据类型
int num3 = in1;//自动拆箱
System.out.println("自动拆箱测试:"+ num3);
- 基本数据类型/包装类与String类型之间的转换:
基本数据类型/包装类–>String:String.valueOf(Xxx xxx)
String–>基本数据类型/包装类:parseXxx(String s)
tips:要转成String,找String类的方法
要转成包装类,找包装类里的方法
//基本数据类型、包装类==》String类型:调用String重载的valueOf(Xxx xxx)
float f1 = 12.3f;
String str2 = String .valueOf(f1); //"12.3"
Double d1 = new Double(12.4);
String str3 = String.valueOf(d1); //12.4
System.out.println("str2:" + str2);
System.out.println("str3:" + str3);
//String类型==》基本数据类型/包装类:调用包装类的parseXxx()
String str2 = "true";
String str3 = "true132";
boolean b1 = Boolean.parseBoolean(str2);
boolean b2 = Boolean.parseBoolean(str3);
System.out.println(b1);
System.out.println(b2);
tips:
①. Vector类中关于添加元素,只定义了形参为object类型的方法:
②. v.addElement(Object obj); //基 本数据类型–>包装类–>使用多态