Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
У меня была проблема с matchit, находящим правильную подходящую фигурную скобку в C ++ / C, когда были закомментированные фигурные скобки. Следующие шаги, взятые из этого поста на форуме , написанного этим парнем , решили его для меня, а также в значительной степени объяснили, как все это работает:
Создайте папку ~ / .vim / plugin, если ее там еще нет:
mkdir ~/.vim/plugin
Создайте файл с именем ~ / .vim / plugin / matchit. vim:
vi ~/.vim/plugin/matchit.vim
и следующее содержимое:
runtime macros/matchit.vim
Создайте каталог ~ / .vim / doc, если его там еще нет:
mkdir ~/.vim/doc
Скопируйте /usr/share/vim/vim73/macros/matchit.txt в ~ / .vim / doc /:
cp /usr/share/vim/vim73/macros/matchit.txt ~/.vim/doc/
Откройте vi
vi
и выполните в нем следующее:
:helptags ~/.vim/doc
Убедитесь, что ваш ~ / .vimrc включает одно из следующего:
source $VIMRUNTIME/vimrc_example.vim
или
runtime vimrc_example.vim
или
filetype plugin on
или
filetype plugin indent on
Добавьте в свой vimrc следующую автокоманду :
" make matchit work on C-like filetypes
" c and cpp are already handled by their ftplugin
au Filetype css,javascript
\ let b:match_words = &matchpairs
Перезапустите Vim.
На странице плагина matchit
написано:
Убедитесь, что в вашем файле vimrc
есть строка типа
:filetype plugin on
. Это позволяет подключать плагины типов файлов, многие из которых сообщают matchit.vim
, какие подходящие пары использовать.