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, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)
Объективный-J пакет Инструментов (http://cappuccino.org/download) и источник на GitHub теперь включает модуль выделения энергии.
источник на GitHub теперь включает модуль выделения энергии.
Я нашел просто выполнение, что предлагается, вот недостаточно:
загрузите файл, как Francisco предполагает
разархивируйте, cd Tools/
dir
выполните оболочку, sh install-tools
скопируйте objj.vim файл в dir энергии, cp Tools/Editors/objj.vim /usr/share/vim/vim71/syntax/
Проблема
Я нашел, что никакая подсветка синтаксиса не работала на ".j" файлы. Таким образом, проблемой здесь не является никакое распознавание расширения файла. При использовании gvim, как я нет также никакого пункта меню.
Добавьте Цель-J к gvim меню
Добавить пункт меню в gvim для Синтаксиса-> Ne-MO-> Цель J:
sudo vim /usr/share/vim/vim71/synmenu.vim
добавьте следующую строку.
an 50.70.465 &Syntax.Me-NO.Objective\ J :cal SetSyn("objj")<CR>
ниже объективной-C записи.сохраните и выйдите
:wq!
затем перезагрузите ".j" файл в gvim. Если Вы затем идете:
выделение для Вашего выбранного Объективного-J файла должно произойти.
Объективное-J автовыделение?
Но что относительно того, чтобы автовыделиться, когда Вы загружаете файл? Кажется, нет никаких ассоциаций файлов. Так:
sudo vim /usr/share/vim/vim7.1/filetype.vim
В файле Вы найдете список ассоциаций типа файла. Если Вы хотите идею, где добавить строку, ищите "setf ocaml" в filetype.vim. Добавьте строку ниже (алфавитного) вышеупомянутого:
"" Objective J au BufNewFile,BufRead *.j setf objj
Сохраните результат. Необходимо теперь смочь загрузить файл ".j" дополнительной и подсветкой синтаксиса для Объективных-J работ файлов.
Результат
Теперь необходимо получить автоматическое распознавание Объективных-J файлов типом файла ".j" и способом установить этот тип файла в gvim. Это, вероятно, должно быть добавлено Bram или кто бы ни делает официальный выпуск энергии, но в настоящий момент этого халтуры для меня. (Ubuntu 8.10, Vim 7.1)
Если регулярное выделение синтаксиса JavaScript достаточно хорошо, можно отобразить это на.j файлы путем добавления чего-то вроде этого к .vimrc файлу:
augroup objective-j
au! BufRead,BufNewFile *.j set filetype=objective-j
au! Syntax objective-j source /usr/share/vim/vim71/syntax/javascript.vim
augroup END
Я не попробовал этот точный код, но сделал что-то подобное при отображении синтаксиса C# на .vala файлы на моей машине Linux. (ОТМЕТЬТЕ: javascript.vim файл мог бы быть расположен где-то в другом месте на Вашем компьютере.) Вы могли, конечно, сделать объективный-j.vim файл на основе этого javascript.vim определением синтаксиса вместо того, чтобы использовать его как есть.