我正在尝试将Object
转换为三元运算符中的Character
,但如果对象为null
,则会获得NPE。但一般来说,如果我将对象(null
)转换为Character
,它就可以工作。所以我的问题是为什么我们不能在三元运算符中转换null
个对象?
Object[] objs = new Object[3];
objs[0] = 'A';
objs[1] = 'C';
Character case1 = (Character) objs[2]; // ok
Character case2 = !Character.valueOf('A').equals(objs[0]) ? 'N' : (Character) objs[2]; // NPE
在上面的示例中,我在案例2中获得了NPE