Java,面向对象,包装类

274 阅读3分钟

包装类的理解:

包装类可以将基本数据类型的变量的值包装到对象中(使得基本数据类型的变量具备引用数据类型变量的相关特征)。

基本数据类型对应的包装类类型:

byte          ——>     Byte

short        ——>      Short

int            ——>      Integer

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);//基本数据类型——>String类型
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);