目标:包装类的使用
引入:
Java认为一切皆对象。
但是Java中的8种基本数据类型,并不是对象,而是数据的一种形式。
Java为了实现一切皆对象,把8种数据类型都设计了一种对应的类,这个类就是包装类。
基本数据类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer(特殊) |
long | Long |
float | Float |
double | Double |
char | Character(特殊) |
boolean | Boolean |
自动装箱:
可以直接把基本数据类型的变量或者值直接赋值给对应的包装类变变量成为一个对象。
自动拆箱:
可以直接把包装类的变量赋值给基本数据类型的变量。
小结:
Java通过了包装类实现了一切皆对象。
public class Demo01 {
public static void main(String[] args) {
int a1 = 12 ; // 12是类型数据,是基本数据类型的数据。
Integer a2 = 13; // 13是对象数据。是引用类型的数据,自动装箱
Integer a3 = a1; // 自动装箱
Integer a4 = 100 ; // 自动装箱
int a5 = a4; // 自动拆箱
// 手工装箱(不建议)
Integer a6 = Integer.valueOf(13);
Integer a7 = 13;
// 手工拆箱(不建议)
Integer a8 = 120;
//int a9 = a8.intValue();
int a9 = a8;
}
}
包装类的特有功能
包装类作为一个类是存在API功能的。
1.可以把基本数据类型的值转换成字符串。(没啥用)。
2.可以把字符串类型的数值转换成对应的基本数据类型(很有用了,重点)
Xxxx parseXxxx(“字符串类型的数值”)
Xxxx valueOf(“字符串类型的数值”):建议方式
小结:
包装类可以把字符串类型的数值转换成对应的基本数据类型的值。
public class Demo02 {
public static void main(String[] args) {
Integer it = 13 ;
// 1.可以调用toString()方法,把类型转换成字符串
String rs1 = it.toString();
System.out.println(rs1+1);
// 2.直接+字符串变成字符串
String rs2 = it + "";
System.out.println(rs2+1);
// 3.调用Integer.toString方法得到字符串(没啥用)
String rs3 = Integer.toString(it);
System.out.println(rs3+1);
//可以把字符串类型的数值转换成对应的基本数据类型(很有用了,重点)
String num = "23";
// 把字符串类型的整数转换成整数类型的数值。
//int numInt = Integer.parseInt(num);
int numInt = Integer.valueOf(num);
System.out.println(numInt+1);
String price = "99.9";
// 把字符串小数转换成对应的double类型的值。
//double priceDb = Double.parseDouble(price);
double priceDb = Double.valueOf(price);
System.out.println(priceDb+0.1);
}
}