JAVA中包装类的使用
1.包装类的概念
由于基本数据类型没有类和对象的概念,java的设计理念是万事万物皆对象。
所以特定为每一种基本数据类型量身定制了一个属于自己的类,称为包装类。
2.包装类的应用
由于集合中不能存储基本数据类型,我们所看到的 list.add(6);事实上存储的都是包装类型,由基本数据类型升级成包装类的过程叫做“装箱”,反之称为“拆箱”;
1.装箱—拆箱 包装类 –基本数据类型 自动进行
2.向上转型—向下转型 父类—子类
3.强制类型转换—自动转换 byte-short-int-long float-double
3.包装类的构造方法
1.所有包装类都可将与之对应的基本数据类型作为参数,来构造它们的实例
2.除Character类外,其他包装类可将一个字符串作为参数构造它们的实例
注意事项
1.Boolean类构造方法参数为String类型时,若该字符串内容为true(不考虑大小写),则该Boolean对象表示true,否则表示false
2.当Number包装类(除了Character和Boolean其它的包装类)构造方法参数为String 类型时,字符串不能为null,且该字符串必须可解析为相应的基本数据类型的数据,否则编译不通过,运行时会抛出NumberFormatException异常
总结:
1.包装类的构造方法一般都有重载,一个构造方法的参数是对应的基本数据类型,另一个构造方法的参数是字符串类型。
4.包装类的常用方法
1.XXXValue():包装类转换成基本类型(实例方法)
byteValue()、intValue()、longValue()、shortValue()、doubleValue()、floatValue()
charValue()、booleanValue()
2.toString():以字符串形式返回包装对象表示的基本类型数据(基本类型->字符串)
(静态方法)
3. parseXXX():把字符串转换为相应的基本数据类型数据(Character除外)(字符串->基本类型)(静态方法)
4.valueOf()(静态方法)
(1)所有包装类都有如下方法(基本类型->包装类)
public static Type valueOf(type value)
(2)除Character类外,其他包装类都有如下方法(字符串->包装类)
public static Type valueOf(String s)
案例
public class Wrapper {
public static void main(String[] args) {
//1.构造方法--装箱
Integer i1 = new Integer(6);
Integer i2 = new Integer("123");
Double d1 = new Double(2.36);
Boolean b1 = new Boolean(true);
Boolean b2 = new Boolean("true");
Character c1 = new Character('a');
//2.实例方法:xxxValue--拆箱
int i = i1.intValue();
boolean b = b1.booleanValue();
char c = c1.charValue();
//3.静态方法toString--基本类型-->String
String s = Integer.toString(6);
String s1 = Double.toString(3.26);
//4.静态方法parsexxx String ->基本类型
int i3 = Integer.parseInt("6");
boolean aTrue = Boolean.parseBoolean("true");
//5.静态方法 valueOf--装箱
Integer integer = Integer.valueOf(6);
Double aDouble = Double.valueOf(2.14);
//6.静态方法:compare 比较 ,返回int
int i4 = Double.compare(3.6, 3.8);
System.out.println(i4);
}
}