Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Не изменяя сценарий, вы можете просто установить переменную среды PYTHONIOENCODING=utf8
, и Python будет считать эту кодировку при перенаправлении на файл.
Ссылки:
https : //docs.python.org/2.7/using/cmdline.html#envvar-PYTHONIOENCODING https://docs.python.org/3.3/using/cmdline.html#envvar-PYTHONIOENCODING
Возможно, вам понадобится закодировать объект unicode с помощью .encode('utf-8')
. В вашем файле python добавьте это в первую строку
# -*- coding: utf-8 -*-
. Если ваш файл сценария работает автономно, добавьте его во вторую строку #!/usr/local/bin/python
# -*- coding: utf-8 -*-
. Здесь это документ: PEP 0263