本帖最后由 朱玉玺 于 2013-2-5 23:54 编辑
闲话少叙,上代码:- short d1=0,d2=1; //这里的short换成其他基本数据类型都可以,
- d2=d1<d2?null:d2;
复制代码 这个编译可以通过,但会报空指针异常,如果改成d1>d2,则不会报错;把null换成其他数据类型也会报错。我的问题是:三元运算符中null可以参与基本数据类型运算,这种情况是为什么呢?null在内存中占几个字节?
————————————————————————————
有朋友解释说空指针异常是运行时异常,所以编译器不会报错,但运行时如果调用就会出问题,我觉得这个解释靠谱~ |