Java基本数据类型、包装类、字符串类型的相互转换
在Java中,所有类均继承于同一父类Object类,为了使基本数据类型也具有类的特点,Java针对八种数据类型定义了相应的引用类型——包装类(Wrapper)。有了类的特点,就可以调用类中的方法,Java才是真正的面向对象。
八种基本数据类型与包装类的对应关系如下表所示。
基本数据类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
1.基本数据类型和包装类的转换
1.1基本数据类型–>包装类
调用相应包装类的构造器
int num = 10;
Integer in1 = new Integer(num);
1.2包装类–>基本数据类型
调用包装类函数xxxValue()方法
Integer in1 = new Integer(10);
int num = in1.intValue();
JDK5.0以后,增加了自动拆箱和自动装箱的功能,基本数据类型和包装类可以直接相互赋值。
Integer in1 = 10;
2.字符串和基本数据类型、包装类的转换
由于自动拆箱和自动装箱的存在,字符串与基本数据类型、包装类的转换将不再分别列出。
2.1字符串–>基本数据类型、包装类
字符串转换成为基本数据类型或者包装类可以直接调用包装类对应的构造器,或者包装类的方法parseXxx()
//包装类构造器
Integer in = new Integer("14");
//包装类的方法parseXxx()
int num = Integer.parseInt("12");
需要注意的是,当字符串中含有无法转换为相应基本数据类型的字符时,编译器将报错
//NumberFormatException
int num = new Integer("23ad");
在八种包装类中,Boolean型比较特殊,在转换时不会报错,当字符串忽略大小写与true匹配时,其值为true,其余均为false
Boolean bool1 = new Boolean("true"); //true
Boolean bool2 = new Boolean("tRue"); //true
Boolean bool3 = new Boolean("TRUE"); //true
Boolean bool4= new Boolean("true233"); //false
2.2基本数据类型、包装类–>字符串
基本数据类型、包装类转化为字符串类型,可以将基本数据类型与字符串进行连接,或者调用String类的valueOf()方法
//和字符串连接
int num = 10;
String str = num + "";
//调用valueOf()方法
float f = 12.3f;
String str = String.valueOf(f);
完结撒花~~