Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Дважды щелкните по "действию" или любой другой переменной.
ctrl+shift+D
И если Вы используете часы, я не могу вообразить лучшее взаимодействие. Вы в состоянии видеть каждое изменение.
Когда я устанавливаю точку останова и нажимаю F11, Eclipse запускает отладчик и предлагает открыть «Перспективу отладки». Затем вы можете открыть Окно -> Показать вид -> Выражения, которое открывает представление выражений, затем вы можете щелкнуть правой кнопкой мыши в окнах представления выражений и выбрать «Добавить выражение наблюдения», чтобы добавить любое выражение (например, dir) И наоборот, я также смог ввести dir (какое-то выражение) в консоли PyDev и получить тот же эффект. Я использую PyDev 1.4.6.2788
Консоль, открывающаяся в отладочной перспективе, на самом деле интерактивна, хотя мне потребовалось некоторое время, чтобы это осознать. Нужно дважды нажать клавишу return после набора чего-нибудь, после чего она будет вычислена. Более подробная информация на сайте Pydev здесь: http://pydev.org/manual_adv_debug_console.html