Java中提供了八种包装类:byte(Byte)、short(Short)、int(Integer)、long(Long)、float(Float)、double(Double)、boolean(Boolean)、char(Character).
但是对于包装类而言,又可以将其分为两类:
├ . 对象型包装类: (直接继承自Object):Boolean、Character.
├ . 数值型包装类: (Number的子类):Byte、Short、Integer、Long、Float、Double.
Number本身是一个抽象类.定义了从包装类里面取出基本数据的操作.
对于包装类而言,有两个最为重要的操作:
├ . 装箱 : 将基本数据类型变为包装类对象的形式,往往都使用各个包装类的构造方法;
├ . 拆箱 : 从包装类之中取出包含的基本数据类型的数据,都利用Number类中的方法.
以Integer类为例:
Integer obj = new Integer(10); //装箱
int temp = obj.intValue(); //拆箱
System.out.println(temp);
以Boolean类为例:
Boolean obj = new Boolean(true); //装箱
boolean temp = obj.booleanValue(); //拆箱
System.out.println(temp);
★ . 从JDK1.5之后,Java提供了自动装箱和自动拆箱的操作.
以Integer类为例:
Integer obj = 10; //自动装箱
int temp = obj; //自动拆箱
System.out.println(temp * 2);
System.out.println(obj * 10);
以Boolean类为例:
Boolean obj = true; //自动装箱
boolean temp = obj; //自动拆箱
System.out.println(temp);
在使用包装类的过程之中还有一个最为重要的应用概念就是可以将String型数据转变为基本数据类型.或者将基本数据类型转变为String型数据
★ . 字符串转变为基本数据类型,依靠的是包装类的parseXXX()方法.
String str = "123"; //字符串的内容必须为int数据格式
int temp = Integer.parseInt(str);
System.out.println(temp * 2);
String s = "12.3"; //字符串的内容必须为double数据格式
double d = Double.parseDouble(s);
System.out.println(d * 2);
String ss = "true"; //当字符串的内容不为boolean格式 的话,按false处理
String sss = "abc";
boolean b = Boolean.parseBoolean(ss);
boolean bb = Boolean.parseBoolean(sss);
System.out.println(b);
System.out.println(bb);
★ . 基本数据类型转变为字符串,有两种方法.
├ . 任何一个基本数据类型与字符串进行连接操作,都会变成字符串.
int a = 100;
String s = a + "";
System.out.println(s);
本操作一定要编写一个空的字符串,而且这个字符串最终是不需要的,所以就会产生垃圾.
├ . 利用String类中提供的valueOf()方法来实现.
int a = 100;
String s = String.valueOf(a);
System.out.println(s);
★ . 另外需要提醒一点的是,当清楚了包装类的使用特点之后,我们可以进一步总结Object类的功能,Object类可以接收所有的对象,
而有了自动的装箱之后,可以利用Object类接收所有的基本数据类型.
范例:利用Object类接收int数据
//int --> Integer --> Object
Object obj = 10;
System.out.println(obj);
//取数据
int temp = (Integer)obj;
System.out.println(temp);