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