文章目录
- 前言
- 包装类
- 基本数据类型与包装类之间的转换
- 基本数据类型转换为包装类可以通过以下几种方式:
- 包装类转换为基本数据类型可以通过以下几种方式:
- 初始化值不同
- 与String之间的转换
前言
Java是一门功能强大且广泛应用的编程语言,具有跨平台性和高效的执行速度,广受开发者喜爱。在接下来的学习过程中,我将记录学习过程中的基础语法、框架和实践技巧等,分享学习心得,对自己学习过程进行整理和总结,也希望能为其他学习Java的朋友提供一些帮助和参考。
包装类
在Java中,包装类主要用于将基本数据类型转换为对象,以便可以在需要对象的情况下使用。
Java中有八种基本数据类型,每种都有对应的包装类。以下是这些基本数据类型及其对应的包装类:
基本数据类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
这些包装类都位于java.lang包中,并提供了一些实用的方法和常量,用于处理基本数据类型
基本数据类型与包装类之间的转换
原因:在一些场景下,需要使用基本数据类型对应的包装类的对象。对于包装类来说,由于包装类是对象,无法进行±*/等运算,由此需要转换为基本数据类型进行计算。
基本数据类型转换为包装类可以通过以下几种方式:
-
自动装箱:Java会自动将基本数据类型转换为对应的包装类。
int primitiveInt = 10; Integer wrapperInt = primitiveInt; // 自动装箱
-
使用构造函数(不推荐):虽然可以使用构造函数创建包装类对象,但从Java 9开始不推荐这样做。
Integer wrapperInt = new Integer(10); // 不推荐
-
使用静态方法:
valueOf
方法是推荐的方式,尤其是在创建多个相同值的对象时,可以节省内存。Integer wrapperInt = Integer.valueOf(10); // 推荐
包装类转换为基本数据类型可以通过以下几种方式:
-
自动拆箱:Java会自动将包装类对象转换为对应的基本数据类型。
Integer wrapperInt = 10; // 自动装箱 int primitiveInt = wrapperInt; // 自动拆箱
-
使用方法:可以使用包装类提供的实例方法进行拆箱。
Integer wrapperInt = Integer.valueOf(10); int primitiveInt = wrapperInt.intValue(); // 使用intValue方法
对于不同的包装类,转换为对应的基本数据类型时使用的是相应的xxxValue()方法。
初始化值不同
基本数据类型和包装类的初始化值是不同的,包装类的默认值为 null,因为它们是对象类型。
与String之间的转换
- 基本数据类型、包装类–>String:
调用String的重载的静态方法valueOf(xxx)。 - String类型–>基本数据类型、包装类:调用包装类的静态方法parseXxx()
// String转基本数据类型
String str = "100";
int stringToInt = Integer.parseInt(str);