У меня есть следующий фрагмент кода Java:
public void silence(final Object key) {
final Chain chain = (Chain)getChain(key);
checkPrecondition(chain != null);
chain.silence();
}
Вызов checkPrecondition вызывает исключение времени выполнения, если цепочка имеет значение null, но Eclipse, похоже, не «понимает это»: он говорит, что chain.silence() - это возможный доступ к нулевому указателю (предупреждение). Вопрос: Как я могу «сказать» Eclipse, что checkPrecondition() гарантирует, что цепочка не равна нулю, т. е. имеет характер утверждения? Я знаю, что могу отключить это предупреждение, но я бы не стал этого делать, потому что в других ситуациях это может быть оправдано.
Интересно, что когда я удаляю вызов checkPrecondition(), предупреждение исчезает (именно в этом случае я и ожидал его увидеть).
Я использую Eclipse 4.4.2 (32-разрядная версия) в Windows. Java VM 1.3 (!). Обновление до более новых версий в настоящее время невозможно.