Недавно я наткнулся на вопрос, который заставил меня остановиться и подумать...
Для меня приведенный ниже код всегда должен вызывать ошибку, но когда один из моих коллег спросил меня, почему Eclipse не показывает ее, я ничего не смог ответить.
class A {
public static void main(String... args) {
System.out.println(new Object() == 0);
}
}
Я исследовал и обнаружил, что с уровнем исходного кода 1.6 действительно возникает ошибка:
incomparable types: Object and int
Но теперь в 1.7 компилируется нормально.
Пожалуйста, какая новая функция оправдывает такое поведение?