欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

true false Boolean之前的关系

程序员文章站 2022-05-10 21:31:43
...

Boolean value = false?false:(false?true:null);

 

这个公式 看起来没任何问题   希望获得的结果是null,但是运行的结果 确实很惊人

 

这个代码执行 结果竟然是“空指针” ,这个牵涉到Boolean的自动封箱问题

 

使用javap  反编译之后 发现java底层根据情况进行了优化,判断这种情况要自动封箱,但是直接为null就不会自动封箱