🔥作者主页:小林同学的学习笔录
🔥mysql专栏:小林同学的专栏
目录
1.包装类
1.1 概述
1.2 Integer类
1.3 装箱和拆箱
1.4 自动装箱和自动拆箱
1.5 基本类型与字符串之间的转换
1.5.1 基本类型转换为字符串
1.5.2 字符串转换成基本类型
1.包装类
1.1 概述
Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类,如下:
1.2 Integer类
Integer类构造方法及静态方法
1.3 装箱和拆箱
在Java中,装箱(Boxing)和拆箱(Unboxing)是将基本数据类型转换为对应的包装类型和将包
装类型转换为基本数据类型的过程。
-
装箱(Boxing):装箱是指将基本数据类型(如int、double、boolean等)转换为对应的包装类型(如Integer、Double、Boolean等)。这通常发生在需要将基本数据类型作为对象使用的情况下,例如将一个
int
赋值给一个Integer
对象。int primitiveInt = 10; Integer boxedInt = Integer.valueOf(primitiveInt); // Boxing
-
拆箱(Unboxing):拆箱是指将包装类型转换为对应的基本数据类型。这通常发生在需要将包装类型中的值提取为基本数据类型时。
Integer boxedInt = Integer.valueOf(20); int primitiveInt = boxedInt.intValue(); // Unboxing
在Java中,自动装箱和自动拆箱是支持的,这意味着在需要时编译器会自动进行类型转换,而无需显式地调用valueOf()
和intValue()
等方法。例如:
int primitiveInt = 10;
Integer boxedInt = primitiveInt; // Auto-boxing
Integer boxedInt = Integer.valueOf(20);
int primitiveInt = boxedInt; // Auto-unboxing
注意:尽管自动装箱和自动拆箱提供了便利,但在处理可能为 null
的包装类型时,需要格外小心,以避免空指针异常
eg:Boolean自动拆箱时需要注意,Boolean有可能为null,如果为null,则会抛出异常,因此需要进行相应的处理
1.4 自动装箱和自动拆箱
Integer i = 4;//自动装箱。相当于Integer i = Integer.valueOf(4);
i = i + 5;//等号右边:将i对象转成基本数值(自动拆箱) i.intValue() + 5;
//加法运算完成后,再次装箱,把基本数值转成对象。
1.5 基本类型与字符串之间的转换
1.5.1 基本类型转换为字符串
-
方式一:直接在数字后加一个空字符串
-
方式二:通过String类静态方法valueOf()
代码演示:
public class IntegerDemo {
public static void main(String[] args) {
//int --- String
int number = 100;
//方式1
String s1 = number + "";
System.out.println(s1);
//方式2
//public static String valueOf(int i)
String s2 = String.valueOf(number);
System.out.println(s2);
System.out.println("--------");
}
}
1.5.2 字符串转换成基本类型
除了Character类之外,其他所有包装类都具有parseXxx静态方法可以将字符串参数转换为对应的基本类型:
-
public static byte parseByte(String s)
:将字符串参数转换为对应的byte基本类型。 -
public static short parseShort(String s)
:将字符串参数转换为对应的short基本类型。 -
public static int parseInt(String s)
:将字符串参数转换为对应的int基本类型。 -
public static long parseLong(String s)
:将字符串参数转换为对应的long基本类型。 -
public static float parseFloat(String s)
:将字符串参数转换为对应的float基本类型。 -
public static double parseDouble(String s)
:将字符串参数转换为对应的double基本类型。 -
public static boolean parseBoolean(String s)
:将字符串参数转换为对应的boolean基本类型。
注意:如果字符串参数的内容无法正确转换为对应的基本类型,则会抛出java.lang.NumberFormatException
异常。