J a v a 包 装 类 \huge{Java \space 包装类} Java 包装类
概述
所谓的包装类,通俗来讲其实就是
8
8
8种基本数据类型对应的引用类型(本质就是引用类型)。
❗❗❗尤其注意
c
h
a
r
char
char对应的包装类的名称是
c
h
a
r
a
c
t
e
r
character
character,
i
n
t
int
int对应的包装类名称是
I
n
t
e
g
e
r
Integer
Integer。
包装类的作用?(存在的意义?)
- J a v a Java Java恨不得把所有的东西都当作对象来看待,所以才会引入对应的 8 8 8种引用类型,实现了一切皆对象。
- 后续的集合和泛型只能支持包装类型,不能支持基本数据类型。
包装类的使用
①. 自动装箱 and 自动拆箱
把基本类对应的包装类称作为“对应的箱子”,所以对于装箱和拆箱就有:
自动装箱:系统自动将基本类型转换为对应的包装类型并生成对象赋值。
自动拆箱:系统自动将包装类型中的数据拆分成为对应的基本类型并生成对象赋值。
示例:
//自动装箱
int a = 10;
Integer a1 = a; //int类自动装箱成Integer类
//自动拆箱
Integer it = 100;
int it1 = it; //Integer类自动拆箱成int类
//装拆综合
double db = 99.5
Double db2 = db; //自动装箱
double db3 = db2; //自动拆箱
②. 包装类特有的功能
1. 包装类可以把基本类型的数据转换成为相应的字符串类型(基本没用)
示例:
//调用包装类的toString()方法
//生成对应的String类
Integer i3 = 23;
String rs = i3.toString();
System.out.println(rs + 1);
//但是其实String中的 + 自己就可以搞定
//上面反而麻烦了
String rs2 = i3 + ""
System.out.println(rs2 + 1);
2. 包装类可以将字符串类型的数据转换为对应的基本类型(❗❗顶级有用)
String number = "23";
//将这个字符串转换为整数
//需要调用对应包装类型Ingeter的parseInt方法
int age = Integer.parseInt(number);
System.out.println(age + 1);
String number1 = "99.9";
//转换成小数
double score = Double.parseDouble(number1);
System.out.println(score + 0.1);
总之就是:
基本数据类型 变量名称 = 对应包装类.parse对应基本类型(字符串)
valueOf():
这个方法与
p
a
r
s
e
X
X
X
parseXXX
parseXXX实际使用出来的效果一模一样,看下面的示例:
int age = Integer.valueOf(number);
double score = Double.valueOf(number1);
❗❗一个小细节
基本数据类型不可以赋值为null
,但是引用数据类型可以赋值为null
,同时引用数据类型可以赋值为0
,所以相比之下引用数据类型赋值更加严谨(加了把锁),可能这就是为什么后面的集合与泛型都是使用引用类型为基本类型吧(思索)。
③. 最后总结
包装类,就是一种对应于基本数据类型的特殊类,本质就是引用数据类型。可以与基本数据类型相互赋值(自动拆装箱),可以进行字符串与对应基本类型的相互转换(一般都是使用字符串转换为对应基本类型较多),相对于基本数据类型,引用数据类型更加保险!