总所周知,Java是面向对象的语言,但是为了便于开发者的使用,Java中却沿用了C语言的基本数据类型,在进行基本的数据计算时,开发者可以直接使用基础类。但是当需要和Java其他对象结合使用,如存入集合中,就需要将基础数据类型实例封装为Java对象,为了面向对象的这一特性,基本数据类型中的每一个类型在java.lang包中都有一个包装类,即将每个基本类型都包装成了一个类。
包装类的一些特性:
· 所有包装类都可以将与之对应的基本数据类型作为参数来创建它们的实例对象
· 除了Character类之外,其他包装类都可以将一个字符串作为参数来构造它们的实例
· Boolean类的构造方法参数为String类型时,若该字符串为true(不论大小写),则该对象表示true,否则表示false
· 当包装类Number构造方法的参数为String类型时,字符串不能为null,并且该字符串必须能够解析为基本类型的数据
用途
· 集合不允许存放基本数据类型,故常用包装类
· 包含了每种基本数据类型的相关属性,如最大值、最小值、所占位数等
· 作为基本数据类型对应的类型,提供了一系列实用的对象操作,如类型转换、进制转换等方法
将包装对象转换为原始类型
class Main {
public static void main(String[] args) {
//创建包装类的对象
Integer aObj = Integer.valueOf(23);
Double bObj = Double.valueOf(5.55);
//转换为原始类型
int a = aObj.intValue();
double b = bObj.doubleValue();
System.out.println("a的值: " + a);
System.out.println("b的值: " + b);
}
}
包装类的优点
在Java中,有时我们可能需要使用对象而不是原始数据类型。例如,在使用集合时。
// 错误
ArrayList<int> list = new ArrayList<>();
//正常运行
ArrayList<Integer> list = new ArrayList<>();