У меня есть этот маленький кусочек кода здесь, который всегда будет бросить NPE:Может ли объект, ссылающийся на внутреннюю инициализацию с двойной привязкой, не дать NPE?
public class Test1 {
private final static Object OBJECT = new Object() {{
System.out.println("OBJECT.toString() = " + OBJECT.toString());
}};
public static void main(String[] args) { }
}
Есть ли способы, однако, что OBJECT
может быть инициализирован в блоке инициализации экземпляра? Или все возможные ссылки на OBJECT
в блок инициализации экземпляра всегда бросают NPE?
Для тех, кто находится в самом быстром оружии, читайте это: Нет, я не прошу вас решить мою ошибку. Это упрощенный фрагмент кода, который я где-то видел, и, к моему удивлению, не дает ничтожного предупреждения в Eclipse или Netbeans, что я ожидаю от него.
Почему вы не можете просто использовать 'this'? –
Это ошибка, которую я обнаружил при решении существующей проблемы где-то, и ни Eclipse, ни Netbeans не дают предупреждение о нулевом указателе, которое я ожидал бы там. – skiwi
Как насчет FindBugs? Я думаю, что он доступен как плагин для Eclipse и Netbeans. – tucuxi