Java 自动拆装箱
程序员文章站
2024-03-23 23:54:16
...
自动拆装箱
基本数据类型 | 包装类型 |
---|---|
byte | Byte |
boolean | Boolean |
short | Short |
char | Char |
int | Integer |
long | Long |
float | Float |
double | Double |
自动装箱:把基本类型自动转换成包装类型的过程
自动拆箱:把包装类型自动转换成基本类型的过程
Integer i = 1;//自动装箱
int b = i;//自动拆箱
int 的自动装箱是通过Integer.valueOf()实现的。
Integer i = Integer.ValueOf(1);
Integer的自动拆箱是通过i.intValue()实现的
int b=i.intValue();
注:
Java中 “==” 比较的是对象,equals比较的是值。
自动拆装箱与缓存机制(仅在自动拆装箱时可用),
例如:当Integer类型的对象数值在-128到+127之间时进行装箱,整形对象在内部实现相同对象的引用实现缓存和重用。
public class Main {
public static void main(String[] arges) {
Integer integer1 = 3;
Integer integer2 = 3;
if (integer1 == integer2)
System.out.println("integer1 == integer2");
else
System.out.println("integer1 != integer2");
Integer integer3 = 300;
Integer integer4 = 300;
if (integer3 == integer4)
System.out.println("integer3 == integer4");
else
System.out.println("integer3 != integer4");
}
}
输出:
弊端:
由于自动拆箱,如果包装类对象为null,那么自动拆箱时就有可能抛出NPE。
推荐阅读
-
自动拆装箱
-
Java 自动拆装箱
-
java自动识别网站 文件的编码 博客分类: 编程应用 Java.net
-
selenium不打开浏览器和打开浏览器-很方便(java) 博客分类: Java_aboutTesting_自动化测试
-
微信群消息自动转发另一群 博客分类: java 微信群消息同步 微信群自动同步
-
微信群消息自动转发另一群 博客分类: java 微信群消息同步 微信群自动同步
-
动手开发自己的mvc-2----完善控制层,提供自动注入和注解上传等功能 博客分类: 实现自己的MVCjava综合 java框架xmlmvc
-
动手开发自己的mvc-2----完善控制层,提供自动注入和注解上传等功能 博客分类: 实现自己的MVCjava综合 java框架xmlmvc
-
Java自动化测试系列[v1.0.0][TestNG测试开发环境配置]
-
Java接口自动化测试框架学习(一)