意义:把基本数据类型转换成引用数据类型操作。
jdk5.0以后支持自动拆装箱操作。
拆箱:引用数据类型转换成基本数据类型
int a = new Integer("4");//自动拆箱
装箱: 把基本数据类型转换成引用数据类型
Double a = 3.14F;//编译错误
Float b = 3.14F;//编译正确
2:编译器在检查基本数据类型变量的方法时,
先检查是否有本身或者是自动转换的基本数据类型的方法
如果有,就调用。
如果没有,检查本身包装类的方法。
有,就调用,没有就编译错误。
public static void main(String[] args) {
byte num = 5;
show(num);// 输出的short:5
}
public static void show(int a){
System.out.println("int:"+a);
}
public static void show(short a){
System.out.println("short:"+a);
}
public static void show(Byte a){
System.out.println("Byte:"+a);
}
public static void show(Long a){
System.out.println("Long:"+a);
}
public static void show(float a){
System.out.println("float:"+a);
}
public static void show(Double a){
System.out.println("Double:"+a);
}
3:包装类提供将字符串转换成相应的基本数据类型
parseXXX(String str);
XXX:对应的是基本数据类型名
reg:
int num = Integer.parseInt("123");
//结果为int类型的123
String str = "3.14";
double d = Double.parseDouble(str);
double d = Double.parseDouble("3.14a");
//上述代码会报异常
NumberFormatException,数字格式异常。
4:提供了其他方法
1:提供将基本数据类型转成二进制以字符串的形式。
int num = 5;
String str = Integer.toBinaryString(num);
2:提供将基本数据类型转成16进制以字符串的形式。
int num = 5; String str = Integer.toHexString(num);
包装类:八大基本数据类型
java语言是面向对象的语言,而八大基本数据类型的值不是对象
当我们想把这些值当成对象时,就需要使用包装类,功能就
是把基本数据类型的数值转换成对象。
byte---java.lang.Byte
short---java.lang.Short
int---java.lang.Integer
long---java.lang.Long
float--java.lang.Float
double---java.lang.Double
char---java.lang.Character
boolean---java.lang.Boolean
常用方法:
Integer.valueOf(int val):
会将int的值转换Integer类型的对象
Double.valueOf(double val):
会将double的值转换Double类型的对象
装箱操作:基本数据类型--->包装类
intValue():
doubleValue();
拆箱操作:将包装类对象转换成相应的基本数据类型
在jdk1.5版本以后,支持自动拆箱和装箱
在做运算时,包装类的对象都会转换成相应的
基本数据类型再计算(自动拆箱)
Integer num = 5;--->Integer num = Integer.valueOf(5)
装箱操作
int a = new Integer("5");---->int a = new Integer(5).intValue();
拆箱操作
reg:
Integer a = 5;//装箱
Integer b = 6; //装箱
Integer c = a+b;//先拆箱,运算结果再装箱
常用方法:
Integer.parseInt(String str)
Double.parseDouble(String str)
作用:将字符串转换成包装类型
int a = Integer.parseInt("12");
int b = Integer.parseInt("abc");这种情况
会出现异常:
NumberFormatException:数字格式化异常---程序运行时发生