![d8078c6847356e046c4c4cb095bb4911]()
(1)包装类的继承关系图解
![image]()
(2)装箱和拆箱
代码示例
package com.baidu.www;
/**
* 包装类:
* 简介:
* 基本数据类型不是对象,所以Java针对基本类型提供了对应的包装类,以对象的形式来使用。
*
* 基本类型 对应的 包装类(可以理解为:就是引用类型)
* byte Byte
* short Short
* int Integer
* long Long
* char Character
* float Float
* double Double
* boolean Boolean
*
* 装箱:
* 基本类型转包装类型(对象类型)
* 拆箱:
* 包装类型(对象类型)转基本类型
* 成员方法:
* 基本类型 parseXxx(String): 将字符串类型的数据转换成对应的基本类型
*
* 注意:
* 除了Character类外,其它七种都有parseSxx()方法
* 因为如果字符串想转换成char类型的数据,可以通过String类中的方法toCharArray() / charAt()
*/
public class Test {
public static void main(String[] args) {
// 变量a属于基本类型,不能通过 对象名. 的形式调用方法
// 解决方法:将其转换成对应的包装类(引用类型)即可
int a = 10;
// 将基本类型数据转换为引用类型 -> 装箱
Integer i1 = new Integer(a);
Integer i11 = Integer.valueOf(a);
// 将包装类型转换为基本数据类型 -> 拆箱
System.out.println(i1.intValue());
// JDK5的新特性,自动拆装箱
System.out.println("========================");
Integer i2 = 20; // 自动走valueOf方法
int c = i2; // 自动走intValue方法
System.out.println(i2);
System.out.println(c);
// 成员方法的调用
// 将字符串类型转换为int类型
System.out.println("========================");
String str = "10";
int num = Integer.parseInt(str);
System.out.println(num);
System.out.println(num + 100);
}
}
(3)包装类和String类型的相互转换
代码示例
package com.baidu.www;
public class WrapperVSString {
public static void main(String[] args) {
// 包装类 -> String
Integer i = 100; // 自动装箱
// 方式1
String str1 = i + ""; // i本身无改变
// 方式2
String str2 = i.toString();
// 方式3
String str3 = String.valueOf(i);
// String -> 包装类
String str4 = "12345";
Integer i2 = Integer.parseInt(str4); // 使用到自动装箱
Integer i3 = new Integer(str4); // 构造器
}
}
(4)包装类的常用方法
![f8de02946436e4724b0c2453d2891f9c]()