三元表达式,拆箱的 null可能产生 java.lang.NullPointerException
程序员文章站
2022-03-16 14:53:56
今天开发的时候遇到一个问题而使用一次三元就不会报错后来对代码进行反汇编发现最后的null值会当成Integer对象进行拆箱和装箱操作然后再赋值给i, 所以才导致了空指针异常而只使用一次三元的反汇编直接把null值赋值给了i,并没有拆箱装箱的操作虽然原因找到了,但还是没有理解 赋值之前有拆箱和装箱的操作......
今天开发的时候遇到一个问题
后来对代码进行反汇编
发现最后的null值会当成Integer对象进行拆箱和装箱操作然后再赋值给i, 所以才导致了空指针异常
虽然找到原因,但还是没有理解 为什么会有拆箱和装箱的操作
后来百度资料找到了原因,是三目表达式的规范 第二个参数和第三个参数会类型转换,会统一一个类型,所以会先拆箱成int类型,得出结果再装箱赋值给便量i,这里推荐两篇三目表达式文章大家可以看下
java条件运算符,三目运算符:类型转换导致的错误
Java三目运算符
本文地址:https://blog.csdn.net/qq_45920036/article/details/109946643
上一篇: JVM学习class字节码文件详解
下一篇: 对链表进行插入排序