Другое событие NullPointerException
возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.
String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
System.out.println(phrase.equals(keyPhrase));
}
Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals
для гарантированного непустого объекта.
Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null
.
Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.
String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
System.out.println(phrase.equals(keyPhrase));
}
Bill Clementson имеет , обновил его установка.
Я использую Vim для Clojure и наслаждаюсь им. Я установил Vim плагин Clojure, упомянутый в wiki, и также следовал инструкциям там для того, чтобы сделать REPL большим количеством удобного для пользователя использования rlwrap.
TextMate является великим редактором и имеет пакет Lisp, который будет достаточен для Clojure (существует также происходящий пакет, доступный здесь ). Я всегда использовал TextMate + пакет Lisp для записи кода Clojure.
Я вырыл вокруг и нашел, что эта ссылка была очень полезна также:
http://paulbarry.com/articles/2008/07/02/getting-started-with-clojure-and-aquamacs
Углерод Emacs со СЛИЗЬЮ и clojure-режимом работает как очарование. Я попробовал Aquamacs прежде, и это чувствует себя слишком отличающимся от командной строки emacs для меня. Мне действительно не нравится Terminal.app и после месяцев, борясь против него, я решил мигрировать на Углерод.
Если Вы идете emacs путем, я настоятельно рекомендую использование clojure-paredit. Paredit берет некоторых привыкающих к, но он действительно укрепляет "код, данные" понятие.
Богатое использование Пятна Aquamacs во всех его демонстрациях. Он прокомментировал об этом, говоря, что он переключился на него после того, как кто-то создал режим Clojure для Emacs. Я также создал режим Clojure для jEdit.
В данный момент, поддержка инструмента Clojure довольно ограничена. Я думаю, что Вы или застреваете в некотором варианте Emacs или jEdit.
Emacs+SLIME будет самым продуктивным, если Вы собираетесь быть пребыванием в течение Вашего времени, редактируя код Lisp и не делая большого количества Java.
Paredit является также необходимой вещью, так как он делает почти трудным вставить недопустимые s-выражения. Требуется немного привыкающее к, но это решительно стоит того.
Для установки Aquamacs, Slime и Clojure, существует экранная демонстрация на lispcast.com :
http://www.lispcast.com/drupal/node/79 (неработающая ссылка)
Редактирование: Это - хорошее альтернативная экранная демонстрация , Вы нашли Jman. Я добавил его к своему ответу, таким образом, это немного более всесторонне.
Один из «большой тройки» Java IDE разработки - это IntelliJ IDEA. Раньше он занимал меньшую долю рынка, потому что он не бесплатный, как пиво. JetBrains теперь предоставляет Community Edition IntelliJ IDEA . Я сам не являюсь постоянным пользователем Mac, но люди OS X «Я использую это» говорят, что она работает и там.
В IDEA есть плагин под названием La Clojure , доступный непосредственно из диспетчера подключаемых модулей в разделе «Настройки», что делает разработку Clojure приятной и продуктивной.
Я пробовал
, но мы планируем остаться с IDEA и La Clojure
Вы также можете попробовать IntellliJ IDEA с плагином La Clojure.