Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Превращение комментария @ ben75 в ответ: соответствующая ошибка была исправлена с помощью build-tools 21.0.0 . Однако эта версия представила еще одну специфичную для Windows ошибку , поэтому вам следует использовать вместо этого инструменты сборки 21.0.2 (даже если эта версия еще не отображается на странице ревизий ).
Вы получите java.lang.VerifyError
в любое время, когда существует несоответствие между библиотекой, используемой во время компиляции, и во время выполнения.
Вот еще один поток, в котором перечислены похожие проблемы: Java.lang.verifyerror, как мне исправить или даже выяснить причину?