包装类的理解:
包装类可以将基本数据类型的变量的值包装到对象中(使得基本数据类型的变量具备引用数据类型变量的相关特征)。
基本数据类型对应的包装类类型:
byte ——> Byte
short ——> Short
int ——> Interger
long ——> Long
float ——> Float
double ——> Double
char ——> Character
boolean ——> Boolean
基本数据类型与包装类之间的转换:
①基本数据类型——>包装类
有两种方式,第一种为:
int i1 = 10;Integer ii1 = new Integer(i1);Integer ss = new Integer("234");System.out.println(ss);
或者(建议使用此方式)
int i1 = 10;Integer ii1 = Integer.valueOf(i1);Integer ss = Integer.valueOf("234");System.out.println(ss);
除了直接将变量的基本数据类型变量的值传入Interger包装类中,还可以将String类型的值转化为相应的基本数据类型,但是不能不符合相应的数据类型的格式(比如Interger里不能写"abc"," "里面应该是一个整型值的相应的字符串。
但是Boolean的包装类例外,
Boolean bb = new Boolean("tRuE");Boolean b2 = new Boolean("hhhhhh");System.out.println(bb);System.out.println(b2);
bb的值为true,b2的值为false。因为Boolean包装类在接收到字符串时会判断该字符串是不是true(无视大小写),如果是,就包装true。
如果不是true,就包装false。(判断true时候,无视大小写,比如TrUe也可以判断为true)
②包装类——>基本数据类型:
只要使用 包装类对象名.xxxValue 的方法就可以将包装类转化为基本数据类型。
Integer ii = new Integer(10);int iii = ii.intValue();System.out.println(iii);Float ff = Float.valueOf("67.3F");float fff = ff.floatValue();System.out.println(fff);
jdk5.0新特性:自动装箱、自动拆箱
自动装箱:
直接将基本数据类型的变量的值给包装类对象。
int i1 = 10;Integer ii1 = i1;//自动装箱System.out.println(ii1);Integer ii2 = i1 + 1;System.out.println(ii2);
自动拆箱:
将包装类对象直接赋值给基本数据类型变量。
Integer iii = 34;int in = ii1;//自动拆箱System.out.println(in);Character cc = new Character('A');char ccc = cc;//自动拆箱System.out.println(ccc);
String类型与基本数据类型、包装类之间的转换:
基本数据类型、包装类 ——>String类型:
①调用
String
的重载的静态方法
valueof
(
xxx xx)
//基本数据类型和包装类类型转换为String类型//1.调用String的重载的静态方法valueof(xxx xx)int i1 = 10;String s = String.valueOf(i1);System.out.println(s);boolean b1 = true;Boolean b2 = false;String s1 = String.valueOf(b1);String s2 = String.valueOf(b2);//包装类类型——>String类型System.out.println(s1);System.out.println(s2);②这种只适用于基本数据类型转换为String类型的方式,即使用连接符//2.(基本数据类型——>String类型)String s3 = b1 + "";//连接符连接基本数据类型和字符串得到字符串System.out.println(s3);
String类型——>基本数据类型、包装类:
调用 包装类名.parseXxx 的方法:
//3.String类型转换为包装类、基本数据类型(通过调用parseXxx的方法)String ss1 = "true";Boolean bb1 = Boolean.parseBoolean(ss1);//String类型转化为包装类System.out.println(bb1);String ss2 = "123";int ii1 = Integer.parseInt(ss2);//String类型转化为基本数据类型System.out.println(ii1);