一、包装类介绍
Java 的设计中提倡一种思想,即一切皆对象
但是 Java 中的数据类型分为基本数据类型和引用数据类型,基本数据类型怎么能够称为对象呢?
此时就需要将基本数据类型进行包装,将 8 种基本类型变为一个类的形式,这就是包装类的作用。
包装类:
(1)Integer、Byte、Float、Double、Shot、Long 都属于 Number 类的子类,Number 类本身提供了一系列的返回以上 6 种 基本数据类型的操作
(2)Character 属于Object 的直接子类
(3)Boolean 属于Object 的直接子类
Number 类是一个抽象类,主要是将数字包装类中的内容变为基本数据类型,Number 类中定义的方法:
二、装箱与拆箱
将一个基本数据类型变为包装类,这样的过程称为装箱操作
将一个包装类变为基本数据类型的过程称为拆箱操作
装箱及拆箱操作:
public class Test{
public static void main(String[] args) {
int x = 30;//声明一个基本数据类型
Integer i = new Integer(x);//装箱:将基本数据类型变为包装类
int temp = i.intValue();//拆箱:将一个包装类变为基本数据类型
}
}
浮点数装箱及拆箱:
public class Test{
public static void main(String[] args) {
float f = 30.3f;//声明一个基本数据类型
Float x = new Float(f);//装箱:将基本数据类型变为包装类
Float y = x.floatValue();//拆箱:将一个包装类变为基本数据类型
}
}
JDK 1.5 之后提供了自动的装箱及拆箱操作:
public class Test{
public static void main(String[] args) {
Integer i = 30;//自动装箱 Integer
Float f = 30.3f;//自动装箱成 Float
int x = i;//自动拆箱为 int
float y = f;//自动拆箱成 float
}
}
- 8
三、包装类应用
包装类在实际中用得最多的还是字符串变为基本数据类型的操作,
例如将一个全由数字组成的字符串变为一个 int 或 float 类型的数据。
以下两种方法,字符串必须由数字组成
(1)Integer(字符串转 int 型)
public static int parseInt(String s) throws NumberFormatException
- 1
(2)Float 类(字符串转 float)
public static float parseFloat(String s) throws NumberFormatException
- 1
public class Test{
public static void main(String[] args) {
String str1 = "30";//由数字组成的字符串
String str2 = "30.3";//由数字组成的字符串
int x = Integer.parseInt(str1);//将字符串变为 int 型
float f = Float.parseFloat(str2);//将字符串变为 float 型
}
}
- 8
以上的转型操作,字符串中的数据必须由数字组成,否则转换时将会出现程序错误。