Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Осуществите рефакторинг Pro доступны для Visual C++, это даст Вам некоторую функциональность. Также проверьте CodeRush, я думаю, что он также поддерживает C++.
По моему скромному мнению - Визуальный Помогают X , лучший но дорогой инструмент завершения/рефакторинга кода для C++. VAX не имеет так много функции как ReSharper для C#, но он делает Ваше программирование на C++ легче и быстрее... Просто считавший CodeRush - это su %% как большинство DevExpress освобождает & инструменты.
Я попробовал, и Осуществите рефакторинг Pro и Визуальный Assist/X. Ни один из них не взволновал меня таким же образом, которого делает ReSharper. Я предполагаю, что главным образом, это вызвано тем, что C++ является таким твердым языком для записи автоматических рефакторингов для.
The solution is to code in Eclipse or NetBeans, but such IDEs are not Visual Studio.