Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Что это значит для браузера / сервера, когда я прошу Chrome пропинговать 0.0.0.0, учитывая тот факт, что 0.0.0.0 просто используется, чтобы сказать «привязать к любому возможному адресу» ? [117 ]
По спецификации RFC5735 , 0.0.0.0
представляет только «исходные адреса», что означает, что это не маршрутизируемый адрес, и его нельзя использовать для пункта назначения.
Однако, по практической причине, многие клиентские программы рассматривают 0.0.0.0
как localhost
. Такой список программного обеспечения включает в себя: Chrome, Firefox, Safari, curl, telnet и т. Д. Поскольку многие веб-серверные программы запускаются с такими сообщениями, как «listen on 0.0.0.0 ...», разрешить посещение 0.0.0.0
очень удобно для пользователя. младшие разработчики.
На самом деле, для Chrome это поведение обсуждалось как проблема , вначале эта проблема имела статус «WontFix», но позже была изменена на «Исправлено» со следующим решением:
Разрешить явную навигацию к «0.0.0.0» для поддержки систем, в которых выполняется навигация к localhost (вопреки спецификациям ... но, по-видимому, часто встречается).
Это по-прежнему препятствует переходу на любой другой IP-адрес с начальным октетом 0, и разрешает 0.0.0.0 только тогда, когда он фактически введен в 4-компонентной форме точечных квадратов.
BLOCKQUOTE>