包装类(封装类):
针对八种基本数据类型,定义相应的引用类型。
基本数据类型:boolean byte short int long char float double
封装类:Bealoon Byte Short Integer Long Character Float Double
String类:三种数据类型相互转换
//基本数据类型与包装类之间的转换
@Test
public void test1(){
int i = 10;
System.out.println(i);//10;i不能使用toString方法,因为它是属性,并不是对象
boolean b = false;
①//基本数据类型 ---> 对应的包装类:调用包装类的构造器(这种数据类型的默认值都是null)
//Integer的构造器有两种:Integer(int value)和Integer(String s),但是s去掉双引号后也必须是int型的
//同理,Float类型的也是float、double、string,但是最终类型也应该是float类型的。如果基本实体都不是float类型的,会报出NumberFormatException.
//Boolean类型的比较特殊,形参如果不是true或者“true",其他的都是false。
Integer i1 = new Integer(i);
System.out.println(i1);//10;这里的i1就相当于i1.toString(),i1为对象
Float f1 = new Float(12.3F);
System.out.println(f1);
②//包装类---->基本数据类型:调用包装类xxx的xxxValue()方法
int i2 = i1.intValue();
System.out.println(i2);
float f2 = f1.floatValue();
System.out.println(f2);
//JDK5.0以后,便可以自动装箱和拆箱,其他数据类型类似
Integer i4 = i2;//i2 int型 ---> i4 Integer自动装箱
int i3 = i1;//i1 Integer--->i3 int型自动拆箱
//基本数据类型、包装类 与String之间的转换
@Test
public void test2(){
//基本数据类型、包装类---->String类:调用String类的静态的重载valueof(xxx x)方法
int i1 = 10;
String str1 = i1 + "";//以前用过的方法,"10";
Integer i2 = i1;
String str2 = String.valueOf(i1);//i2也可以,使用Stringde valueof方法
String str3 = String.valueOf(true);//"true"
//String类---->基本数据类型、包装类:调用包装类的parseXxx(String str)方法
int i3 = Integer.parseInt(str2);
boolean b1 = Boolean.parseBoolean(str3);
//int i4 = (int)str2;//这种方法是错误的,int与String一点关系都没有,所以不可以这么转。
}
网友评论