我最近偶然发现了一个让我停下来思考的问题......
对我来说,下面的代码应该总是会触发错误,但是当我的一位同事问我为什么 Eclipse 没有显示错误时,我无法回答任何问题。
class A {
public static void main(String... args) {
System.out.println(new Object() == 0);
}
}
我调查并发现使用源级别 1.6 确实会引发错误:
incomparable types: Object and int
但现在在 1.7 中它可以编译。
请问,什么新功能确实保证了这种行为?