Другое событие 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));
}
Я настоятельно рекомендую запуститься с хорошей книги. Это - сложная тема, и даже опытный разработчик нуждается в некоторой помощи для начала работы.
я также рекомендую познакомиться с не технологии Sun прямо в течение начала. Персистентность базы данных намного легче с платформами теми, которые В спящем режиме и iBatis, чем с Компонентами сущности (даже в новом стандарте EE Java). Взгляните на платформу внедрения зависимости как Spring и Guice. На самом деле Spring предлагает намного больше, чем внедрение зависимости (аспектно-ориентированная разработка, платформа веб-сервисов, MVC, обертки для JDBC и JMS).
Другой важной вещью является выбор IDE. В свободном мире можно или пойти с Eclipse (выпуск EE Java) или NetBeans. Оба хороши, я нахожу, что NetBeans немного замедляются, но это - улучшение. Я также рекомендую Tomcat как сервер приложений. Хотя это не реализует стандарт EE Java полностью (никакой EJBs), существуют небольшие вещи, которые Вы не можете сделать. Полные серверы приложений являются JBoss от Redhat и GlassFish от Oracle. GlassFish приятно интегрируется в NetBeans (не имеет никакого отношения к предыдущему серверу приложений Sun - это быстро и надежно).
РЕДАКТИРОВАНИЕ
вопрос о книгах JEE теперь закрывается. Ответы предложили http://www.theserverside.com/ , J2EE: Большое Изображение и , Укомплектовывающее публикации , для книг как "Spring в Действии" и "Персистентности Java с, в спящем режиме". Я уверен, что существуют теперь более хорошие доступные книги.
Я думаю, что учитывая ваш опыт работы в Linux и MySQL, лучше всего начать с Java Servlet API . Сервлеты Java являются базовым модулем в Java EE для обработки HTTP-запросов и ответов на стороне сервера. В большинстве работ по Java EE сервлеты покрывают около 50% разработки. Остальные 50% - это разработка баз данных, которую вы, кажется, делали в прошлом.
Для вашего контейнера сервлетов я бы порекомендовал Apache Tomcat . Tomcat имеет развитое сообщество разработчиков, которое регулярно вносит свой вклад и используется в качестве основы нескольких решений для серверов приложений предприятия, таких как JBoss.
Удачи в вашем проекте!
Я - лично большой поклонник официальных учебных руководств Sun, даже когда я знаком с основной темой. Я нашел их довольно хорошими для того, чтобы просмотреть и видеть то, что релевантно и что не, и они в свободном доступе онлайн.
единственная проблема с ними состоит в том, что они не покрывают распространенные инструменты и библиотеки, поэтому как только Вы покрыли свои базы, ищите лучшие практики EE Java и инструменты.
кроме того, пропустите серверы приложений Sun и пойдите прямо для Tomcat и JBoss.