考虑以下Java代码:
Integer foo = bar();
if(foo == 5) ...;
if(5 == foo) ...;
这些比较是否相等 -- 特别是在foo
可能为null
的情况下?它们会展开成foo.getValue() == 5
和5 == foo.getValue()
,还是更类似于 foo.equals(new Integer(5))
和 new Integer(5).equals(foo)
,或者其他什么?一种或两种或都没有会抛出 NPE 吗?
x*x
成立会使它自反。 - Dennis Meng