封装类--java13(09/12/2015)

包装类(封装类)

针对八种基本数据类型,定义相应的引用类型。

基本数据类型: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一点关系都没有,所以不可以这么转。

}

你可能感兴趣的:(封装类--java13(09/12/2015))