包装类

练习:练习题#包装类练习
面试题:包装类相关

要使用只针对对象设计的API或新特性(例如泛型)时,需要包装类将基本数据类型转换为对象来使用这些API,换言之,为了使得基本数据类型的变量具备引用数据类型变量的相关特征(比如:封装性、继承性、多态性),Java给各个基本数据类型的变量都提供了对应的包装类

java中的包装类:
Java针对八种基本数据类型定义了相应的引用类型:包装类(封装类)。有了类的特点,就可以调用类中的方法,Java才是真正的面向对象
Pasted image 20240116173409.png|500

包装类和基本数据类型的转换

包装类-->基本数据类型

int a = 2;
Integer in = new Integer(a);
Integer in2 = Integer.valueOf(a);

基本数据类型-->包装类

int in3 = in2.intValue();

JDK5.0有新特性:自动装箱、自动拆箱(语法糖)

int a = 2;
Integer in = a;
Integer in2 = a + 1;
a = in2;

String与基本数据类型、包装类的转换

Pasted image 20240117151343.png
由于自动装箱自动拆箱机制,下面对基本数据类型和包装类不做区分

String-->基本数据类型、包装类

int a = 2;
Integer in = a;
String str1 = String.valueOf(in);
String str2 = in + "";
String str3 = "" + in;

基本数据类型、包装类-->String

String str1 = "true";
boolean b1 = Boolean.parseBoolean(str1);

若原字符串不符合数据类型的格式会报错