在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形。为了解决这个问题,Java 语言为每一个内置数据类型提供了对应的包装类。
所有包装类(如:Integer,Long,Byte,Double,Float,Short)都是抽象类Number的子类。
| 基本数据类型 | 包装类 |
|---|---|
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Character |
| boolean | Boolean |

装箱就是把基本类型转为包装类对象,拆箱就是把包装类还原为基本类型。
从JDk1.5开始,实现了自动装箱,自动拆箱。也就是基本类型和包装类自动转换。
如直接把int类型的整数赋值给包装类,可以实现自动装箱;进行数学运算时,包装类会自动拆箱为基本类型再计算。
手动转换可使用以下方法:
| 基本数据类型 | 包装类 | 基本类型转包装类 | 包装类转基本类型 |
|---|---|---|---|
| byte | Byte | Byte.valueOf(byte) | byteInstance.byteValue() |
| short | Short | Short.valueOf(short) | shortInstance.shortValue() |
| int | Integer | Integer.valueOf(int) | integerInstance.intValue() |
| long | Long | Long.valueOf(long) | longInstance.longValue() |
| float | Float | Float.valueOf(float) | floatInstance.floatValue() |
| double | Double | Double.valueOf(double) | doubleInstance.doubleValue() |
| char | Character | Character.valueOf(char) | charInstance.charValue() |
| boolean | Boolean | Boolean.valueOf(booleann) | booleanInstance.booleanValue() |
1.基本类型转字符串
方法1:基本数据 + “”
方法2:包装类的静态方法 static String toString(int i),返回一个标识指定整数的String类型
方法3:使用String类的静态方法:static String valueOf(int i)
2.字符串转基本数据类型
使用包装类的静态方法parseXX(字符串)
示例:
package base17_wrapper_class;
public class StringParse {
public static void main(String[] args) {
// 基本类型转字符串
String s1 = 66 + "";
System.out.println(s1 + 100); // 66100
String s2 = Integer.toString(66);
System.out.println(s2 + 100); // 66100
String s3 = String.valueOf(66);
System.out.println(s3 + 100);
// 字符串转基本类型
int i = Integer.parseInt(s1);
System.out.println(i + 1); // 67
}
}