1、包装类概述
1.1、包装类介绍
- 含义:针对八种基本类型定义的相应的引用类型,具有类的特点,可以调用类的方法
- ①所有包装类都是final类型,因此不能创建他们的子类。
- ②包装类是不可变类,一个包装类的对象自创建后,他所包含的基本类型数据就不能被改变。
基本数据类型 | 对应的包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
char | Character |
floar | Float |
double | Double |
boolean | Boolean |
- 类图如下
1.2、包装类使用案例
- 范例
public class ExceptionSource {
public static void main(String[] args) throws Exception {
// 自动装箱 - 底层调用Double.valueOf(100d)
Double num1 = 100d;
System.out.println("双精度包装类:"+num1);
// 自动装箱 - Float.valueOf(1.5f)
Float num2 = 1.5f;
System.out.println("单精度包装类:"+num2);
}
}
- 运行结果
2、装箱&拆箱
- 装箱&拆箱方法调用如下:
包装类 | 装箱 | 拆箱 |
---|---|---|
Byte | valueOf() | byteValue() |
Short | valueOf() | shortValue() |
Integer | valueOf() | intValue() |
Long | valueOf() | longValue() |
Float | valueOf() | floatValue() |
Double | valueOf() | doubleValue() |
Character | valueOf() | charValue() |
Boolean | valueOf() | booleanValue() |
2.1、装箱
-
含义:将基本数据类型变为包装类对象。
- 底层调用:valueOf方法
-
范例
public class ExceptionSource {
public static void main(String[] args) throws Exception {
int num = 100;
System.out.println("装箱前:"+num);
// 装箱
Integer Inum = Integer.valueOf(num);
System.out.println("装箱后:"+Inum);
}
}
- 运行结果
2.2、拆箱
- 含义:将包装类中包装的基本数据类型取出。
- 范例
public class ExceptionSource {
public static void main(String[] args) throws Exception {
Integer num = 100;
System.out.println("拆箱前:"+num);
// 拆箱
int Inum = num.intValue();
System.out.println("拆箱后:"+Inum);
}
}
- 运行结果
2.3、包装类转换
- 范例:Integer和String类互相转换
public class ExceptionSource {
public static void main(String[] args) throws Exception {
// 包装类(Integer) --》 String
Integer num = 100;
// 方式1
String str1 = num + "";
System.out.println(str1);
// 方式2
String str2 =num.toString();
System.out.println(str2);
// 方式3
String str3 = String.valueOf(num);
System.out.println(str3);
// String--》包装类(Intteger)
String str = "123";
// 方式1 - 自动装箱
Integer sNum1 = Integer.parseInt(str);
System.out.println(sNum1);
// 方式2 - 构造器
Integer sNum2 = new Integer(str);
System.out.println(sNum2);
}
}
- 运行结果