跳到主要内容

包装类

什么是包装类

不论怎样,总有理由使用对象代替原始数据类型,并且Java平台为每种原始数据类型提供了包装类。这些类将“原始数据类型”包装在对象中。

基本数据类型包装类基本数据类型包装类
intIntegercharCharacter
byteBytebooleanBoolean
shortShortfloatFloat
longLongdoubleDouble

自动装箱和拆箱

通常,包装是由编译器完成的, 如果你在期望一个对象的地方使用原始数据类型,则编译器会为你将原始数据类型放入其包装类中。

自动装箱的方法

包装类名.valueOf(原始数据类型的值);
java

示例

// 变量num期望获取一个整数对象,但赋值时给定的是一个基本数据类型int值,此时编译器将会将int值5进行包装
// 调用的是Integer.valueOf(5)
Integer num = 5;
java

自动拆箱

类似地,如果在期望使用基本数据类型的情况下使用包装类型,则编译器会为你解包该对象。

自动拆箱方法

包装类对象.xxxValue();
java

示例

Integer num = new Integer(10);
// 变量a期望获取一个基本数据类型的值,但赋值时给定的是一个引用数据类型的对象,此时编译器会将这个引用数据类型
// 的对象中存储的数值取出来,然后赋值给变量a。调用的是num.intValue();
int a = num;
java

字符串转数字的方法

Integer.parseInt("123");      // 将字符串类型的数字转换为整数
Long.parseLong("123"); // 将字符串类型的数字转换为长整数
Byte.parseByte("13"); // 将字符串类型的数字转换为字节
Short.parseShort("13"); // 将字符串类型的数字转换为短整数
Float.parseFloat("12.0f"); // 将字符串类型的数字转换为单精度浮点数
Double.parseDouble("123"); // 将字符串类型的数字转换为双精度浮点数
Boolean.parseBoolean("true"); // 将字符串类型的布尔值转换为布尔值
java

注意:如果字符串参数的内容无法正确转换为对应的基本类型,则会抛出java.lang.NumberFormatException异常。

请作者喝奶茶:
Alipay IconQR Code
Alipay IconQR Code
本文遵循 CC CC 4.0 BY-SA 版权协议, 转载请标明出处
Loading Comments...