ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

47-常用类-八大包装类(Wrapper Classes)

2026/9/4 16:20:32 拓冰建站 浏览量
47-常用类-八大包装类(Wrapper Classes) 1.问题引出基本数据类型与对象之间的差异在 Java 中基本数据类型如int、char、double等和对象之间有一些显著的差异基本数据类型primitive types是 Java 中的基本构造块存储的是实际的数据值。例如int存储一个整数boolean存储一个布尔值char存储一个字符等。对象类型reference types是指类和接口类型存储的是对象的引用而对象的值存储在堆内存中。在某些场景下我们需要将基本数据类型作为对象使用。这时就引出了包装类Wrapper Classes的概念。2.包装类Java 中的包装类Wrapper Classes就是将基本数据类型包装成对象的类。Java 为每种基本数据类型提供了一个对应的包装类使得我们能够像操作对象一样操作基本数据类型。3.包装类的使用方法装箱将 基本数据类型 转换为 对应的包装类对象拆箱将 包装类 自动转换回 基本数据类型自动装箱Autoboxing自动装箱是 Java 5 引入的功能允许编译器自动将基本数据类型转换为 对应的包装类对象。例如Integer intObj 10; // 自动装箱自动装箱底层调用的是valueOf方法比如IntegervalueOf()自动拆箱Unboxing自动拆箱是指 Java 编译器将包装类自动转换回基本数据类型。例如int num intObj; // 自动拆箱手动装箱和拆箱包装类的构造方法可以用来手动装箱。例如Integer intObj new Integer(10); // 手动装箱,int-integer int num intObj.intValue(); // 手动拆箱4.包装类的应用场景包装类主要用于以下几个场景集合类存储集合类如ArrayList、HashMap等不能直接存储基本数据类型而只能存储对象。因此包装类被广泛用于集合中。处理字符串包装类提供了将字符串转换为数字和将数字转换为字符串的功能。例如Integer.parseInt()用于将字符串转换为整数。类型转换和比较包装类提供了类型转换和比较的方法例如Double.compare()方法可以比较两个double值Integer.valueOf()可以将int转换为Integer。5.包装类与String类型的转换1.从基本数据类型转换为 String使用String.valueOf()String.valueOf()方法可以将任何类型的数据转换为字符串包括基本数据类型和对象。它可以将数字、布尔值等转换为对应的字符串表示。int num 123; String str String.valueOf(num); // 输出 123使用Integer.toString()/Double.toString()等对于每种基本数据类型的包装类都有一个toString()方法可以直接将包装类对象转换为字符串。Integer num 123; String str num.toString(); // 输出 123使用字符串连接操作通过将基本数据类型与一个空字符串进行连接也可以将它转换为String。int num 123; String str num ; // 输出 1232.从 String 转换为基本数据类型将String类型转换为基本数据类型时我们需要使用包装类的parseX()方法。例如Integer.parseInt()用于将String转换为intDouble.parseDouble()用于将String转换为double。使用parseX()方法这些方法会将String转换为对应的基本数据类型。如果转换失败例如字符串不符合数字格式会抛出NumberFormatException异常。String str 123; int num Integer.parseInt(str); // 转换为 int结果为 123 String str2 12.34; double d Double.parseDouble(str2); // 转换为 double结果为 12.34使用包装类的valueOf()方法valueOf()方法不仅可以将字符串转换为对应的包装类对象还可以通过自动拆箱Unboxing将包装类对象转换为基本数据类型。String str 123; Integer integer Integer.valueOf(str); // 转换为 Integer 对象 // 直接通过自动拆箱获取基本类型 int num integer; // 自动拆箱num 123