NullPointerException
s - исключения, возникающие при попытке использовать ссылку, которая указывает на отсутствие местоположения в памяти (null), как если бы она ссылалась на объект. Вызов метода по нулевой ссылке или попытка получить доступ к полю нулевой ссылки вызовет функцию NullPointerException
. Они наиболее распространены, но другие способы перечислены на странице NullPointerException
javadoc.
Вероятно, самый быстрый пример кода, который я мог бы придумать для иллюстрации NullPointerException
, be:
public class Example {
public static void main(String[] args) {
Object obj = null;
obj.hashCode();
}
}
В первой строке внутри main
я явно устанавливаю ссылку Object
obj
равной null
. Это означает, что у меня есть ссылка, но она не указывает на какой-либо объект. После этого я пытаюсь обработать ссылку так, как если бы она указывала на объект, вызывая метод на нем. Это приводит к NullPointerException
, потому что нет кода для выполнения в местоположении, на которое указывает ссылка.
(Это техничность, но я думаю, что она упоминает: ссылка, которая указывает на null, равна 't то же, что и указатель C, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)
Просто поместите это в свой .vimrc
" <Ctrl-l> redraws the screen and removes any search highlighting.
nnoremap <silent> <C-l> :nohl<CR><C-l>
Существует hlsearch
и nohlsearch
. :help hlsearch
предоставит больше информации.
, Если Вы хотите обязать F12 переключать его вкл\выкл, можно использовать это:
map <F12> :nohlsearch<CR>
imap <F12> <ESC>:nohlsearch<CR>i
vmap <F12> <ESC>:nohlsearch<CR>gv
У меня есть это в моем .vimrc:
nnoremap ; :set invhlsearch<CR>
Таким образом, ; переключит поисковое выделение. Обычно, ; ключ повторяет последнюю команду t/T/f/F, но я никогда действительно использовал ту функциональность. Я нахожу эту установку намного более полезной, потому что я могу изменить поиск, выделяющийся на и прочь очень быстро, и могу легко получить смысл того, где мои результаты поиска, сразу.
Я ищу так часто, что я нашел полезным отобразить ключ подчеркивания для удаления поискового выделения:
nnoremap <silent> _ :nohl<CR>
Добавьте следующую строку до конца Вашего .vimrc
для предотвращения выделения в целом:
set nohlsearch
Тогда я предпочитаю это:
map <F12> :set hls!<CR>
imap <F12> <ESC>:set hls!<CR>a
vmap <F12> <ESC>:set hls!<CR>gv
И почему? Поскольку это переключатели переключатель: если выделение идет, то нажимающий F12 выключает его. И наоборот. HTH.
/lkjasdf
всегда было быстрее, чем :noh
для меня.
:noh
(короткий для nohighlight) добьется цели.
*:noh* *:nohlsearch* :noh[lsearch] Stop the highlighting for the 'hlsearch' option. It is automatically turned back on when using a search command, or setting the 'hlsearch' option. This command doesn't work in an autocommand, because the highlighting state is saved and restored when executing autocommands |autocmd-searchpat|. Same thing for when invoking a user function.
я нашел его только под :help #
, который я продолжаю поражать все время, и который выделяет все слова на текущей странице как текущая.