[JAVA基础]自动拆装箱NPE问题 以你之姓@ 2024-04-20 22:13 31阅读 0赞 ## 1.自动拆装箱场景 ## ### 自动装箱 ### 当把字面量转换成包装类的时候会自动装箱 比如: Integer a = 1; Integer b = 1; ### 自动拆箱 ### 当你对包装类的对象进行运算(如加法、减法等)时,Java会自动进行拆箱操作。拆箱是将包装类型的对象转换为相应的基本类型的过程。这使得你可以在使用包装类对象的地方进行运算,而无需显式地调用`intValue()`、`doubleValue()`等方法来获取基本类型的值。 当进行以下运算时,会自动触发拆箱操作: 1. 运算符:`+`, `-`, `*`, `/`, `%`, `+=`, `-=`, `*=`, `/=`, `%=` 2. 比较运算符:`==`, `!=`, `<`, `>`, `<=`, `>=` 例如: Integer a = 5; Integer b = 3; int result = a + b; // 自动拆箱,将a和b转换为int,然后进行加法运算 在这个例子中,`a`和`b`对象在参与加法运算时,会自动拆箱为`int`类型,然后进行加法操作,将结果赋给`result`变量。 需要注意的是,在包装类对象为`null`时,进行拆箱操作将会抛出`NullPointerException`。因此,如果你不确定对象是否为`null`,最好在进行拆箱操作之前先进行非空判断。 ## 2.NPE问题的触发 ## ### 一个场景 ### public Long getNum(){ return null; } public void NPE(){ long id = getNum(); } 这个里面 long id = getNum() 实际运行就是 long id = getNum(); long id = getNum().longValue(); 一个NULL值调用方法 就是触发NPE问题 ### 还有一个场景 ### ![150fc06414b746ff8e0f3753955f3761.png][] 阿里巴巴开发手册里面提到的 这个三目运算符中也会触发NPE问题 [150fc06414b746ff8e0f3753955f3761.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/20/7237aae7b6264dcd8752b663b7b2e8f9.png
相关 [JAVA基础]自动拆装箱NPE问题 当把字面量转换成包装类的时候会自动装箱 比如: Integer a = 1; Integer b... 以你之姓@/ 2024年04月20日 22:13/ 0 赞/ 32 阅读
相关 学习Java——自动拆装箱 目录 引言 基本数据类型 数据类型有什么好处 整数的取值范围 超出范围怎么办 包装类型 为什么需要包装类 拆箱与装箱 自动拆箱与装箱 实现原理 哪 一时失言乱红尘/ 2024年03月25日 20:41/ 0 赞/ 44 阅读
相关 Java包装类型:自动装箱/拆箱导致NPE 自动装箱/拆箱可能导致NPE 在一次使用redisTemplate去操作的时候,发现IDEA提示`UnBoxing of 'redisTemplate.hasKey(ke 骑猪看日落/ 2024年03月22日 12:05/ 0 赞/ 27 阅读
相关 Java包装类型自动装箱/拆箱导致NPE ![format_png][] 自动装箱/拆箱可能导致NPE 在一次使用redisTemplate去操作的时候,发现IDEA提示`UnBoxing of 'redisT 亦凉/ 2023年09月27日 18:18/ 0 赞/ 80 阅读
相关 【java基础】包装类,自动装箱和自动拆箱 文章目录 基本介绍 包装类 自动装箱 自动拆箱 包装类注意事项 包装类比较 包装器内容不可变 基本介绍 有 ﹏ヽ暗。殇╰゛Y/ 2023年09月24日 20:37/ 0 赞/ 29 阅读
相关 java自动装箱拆箱_Java自动装箱 java自动装箱拆箱 Autoboxing in java was introduced in Java 1.5. Autoboxing and unboxing is a 迈不过友情╰/ 2023年02月28日 08:44/ 0 赞/ 207 阅读
相关 java 自动拆箱 自动装箱 1、自动拆装箱定义 自动装箱:将基本数据类型赋值给包装类型。 自动拆箱:将包装类型赋值给基本数据类型。 Integer integer = 122; // 亦凉/ 2022年12月29日 09:08/ 0 赞/ 188 阅读
相关 java 自动拆装箱特性 文章目录 一、自动装拆箱是什么? 二、拆装箱的使用 1.引入包装类的原因: 2.自动拆装箱的运用 3.一些典型举例 怼烎@/ 2022年09月11日 08:15/ 0 赞/ 129 阅读
相关 java自动装箱拆箱 自动装箱和自动拆箱 什么是自动装箱拆箱 基本数据类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。 一般我们要创 傷城~/ 2022年05月12日 02:46/ 0 赞/ 255 阅读
还没有评论,来说两句吧...