true false Boolean之前的关系

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

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

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

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

猜你喜欢

转载自864343928.iteye.com/blog/2253133