Поддержка JDK 7 в среде IDE NetBeans 7.0: краткий обзор
В среде IDE NetBeans 7.0 обеспечивается поддержка новых функций языка JDK 7, например операции "бубна", использования типа String в операторе switch, мультизахвата и т.д. При использовании этих конструкций в коде среда IDE распознает их, предлагает правильные классы для автозавершения кода, правильно выделяет ошибки и позволяет автоматически исправлять синтаксис. Таким образом, среда IDE NetBeans помогает создавать код, совместимый со спецификацией языка JDK 7.
В этом учебном курсе будет рассмотрено включение поддержки JDK 7 в среде IDE, а также обработка новых языковых конструкций в среде IDE.
Содержание
Для работы с этим учебным курсом потребуются программное обеспечение и ресурсы, перечисленные в таблице ниже.
Включение поддержки JDK 7 в среде IDE NetBeans
- Загрузите и установите JDK 7 на свою систему.
- В среде IDE выберите "Сервис" > "Платформы Java".
- Выберите команду "Добавить платформу" и укажите каталог, содержащий пакет JDK (например, в системе Windows это каталог установки JDK, местоположение которого по умолчанию C:\Program Files\Java\jdk1.7.0).
Каталог, содержащий платформу Java, помечен значком
.
- На этапе "Имя платформы" убедитесь в том, что местоположения архива ZIP источника платформы и документации по интерфейсу API действительны.
- Для закрытия диалога добавления платформы Java нажмите кнопку "Готово".
- Убедитесь в том, что в списке "Платформы" выбран пункт "JDK 1.7", и нажмите кнопку "Закрыть".
|
| Для просмотра полной версии перейдите по этой ссылке. Для загрузки щелкните, удерживая клавишу CTRL (1,1 Мб). |
Примечание. Документация Javadoc для платформы интерфейса API, используемого по умолчанию, расположен по этому адресу. Для автономного использования можно загрузить файл JAR документации Javadoc со страницы двоичных снимков JDK7 и указать его местоположение в системе.
Настройка использования JDK 7 в проекте
После регистрации JDK 7 в среде IDE необходимо настроить проект для использования JDK при компиляции, выполнении и отладке.
- Создайте проект Java. Выберите команды "Файл" > "Создать проект", а затем выберите тип проекта "Приложение Java". Нажмите кнопку "Далее".
- В качестве имени проекта введите SwitchTest и укажите его местоположение.
- В окне "Файлы" щелкните правой кнопкой мыши узел проекта SwitchTest и выберите команду "Свойства" > "Библиотеки". На этой вкладке в списке платформ Java пункт JDK 1.7

- Перейдите на вкладку "Исходные коды" в окне "Свойства проекта" и выберите JDK 7 в качестве формата исходных/двоичных файлов.

- Нажмите кнопку "ОК" для подтверждения изменений. Теперь проект настроен на распознавание новых функций языка JDK 7.
|
| Для просмотра полной версии перейдите по этой ссылке. Для загрузки щелкните, удерживая клавишу CTRL (1,3 Мб). |
Использование новых языковых конструкций JDK 7: оператор переключения
JDK 7 содержит множество новых функций и расширений в различных аспектах, в том числе при интернационализации, вводе-выводе, работе с сетью, безопасности и т.д. Для ознакомления с поддержкой JDK 7 в редакторе Java среды IDE проще всего продемонстрировать некоторые изменения, введенные в проекте Coin.
Одним из таких изменений является использование типа String в операторе switch. В предыдущих версиях Java аргументами оператора switch могли быть только такие простейшие типы данных как byte, short, char, int и enum. Начиная с JDK 7, аргументы типа String также можно использовать в выражении оператора switch.
- Откройте файл SwitchTest.java и вставьте следующий код. В этом примере отображаются коды RGB для различных цветов.
JDK 7 позволяет переменной color иметь тип String.
package switchtest;
public class SwitchTest {
public static void main(String[] args) {
String color = "red";
String colorRGB;
switch (color.toLowerCase()) {
case "black": colorRGB = "000000"; break;
case "red": colorRGB = "ff0000"; break;
case "green": colorRGB = "008000"; break;
case "blue": colorRGB = "0000ff"; break;
default: colorRGB = "Invalid color"; break;
}
System.out.println(colorRGB);
}
}
Если вставленный код некорректно форматируется в редакторе, нажмите сочетание клавиш ALT+SHIFT+F для выполнения повторного форматирования.
- В окне "Файлы" щелкните правой кнопкой мыши узел проекта и выберите команду "Выполнить". На экране отобразится вывод приложения, который представляет собой код RGB для красного цвета.
Таким образом, сборка выполнена успешно, а приложение успешно работает при указании целевой платформы и исходного формата JDK 7.

- Вернемся к JDK 6 и проверим компилирование приложения с помощью компилятора JDK 6.
В окне "Файлы" щелкните правой кнопкой мыши узел проекта и выберите команду "Свойства". На вкладке "Библиотеки" установите платформу JDK 1.6, а на вкладке "Исходные файлы" выберите для параметра "Формат исходных файлов" значение JDK 6.
Сразу видно, что синтаксический анализатор JDK6 не распознает синтаксис. Компиляция завершается с ошибкой из-за несовместимого типа переменной.

- Теперь воспользуемся оператором if-then-else вместо switch, как показано на рисунке.
Если в качестве целевой платформы используется JDK 7, то среда IDE распознает такие случаи и предлагает преобразовать их в switch.
Щелкните подсказку, и конструкция if-then-else будет автоматически преобразована в конструкцию switch, которая использовалась ранее.

- Запустите приложение с другими значениями.
|
| Для просмотра полной версии перейдите по этой ссылке. Для загрузки щелкните, удерживая клавишу CTRL (2,5 Мб). |
Поддержка JDK 7: дополнительные примеры
Чтобы проиллюстрировать возможности распознавания и автоматического исправления кода в редакторе Java среды IDE для обеспечения совместимости со спецификациями языка JDK 7, воспользуемся фрагментом кода, который не имеет смысла, но содержит все основные улучшения.
При анализе этого фрагмента кода и применении подсказок редактора будут продемонстрированы следующие возможности.
- Автоматический вывод типов, при котором компилятор Java определяет тип общего экземпляра без необходимости его явного указания. Так называемый оператор "бубна" позволяет отметить случаи вывода типа.
- Улучшенная обработка исключений или мультизахват, при котором один блок catch может использоваться для нескольких типов исключений.
- Новый синтаксис операторов закрытия ресурсов, используемый функцией автоматического управления ресурсами.
- Замените существующий код приложения в файле SwitchTest.java следующим кодом.
package switchtest;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class SwitchTest {
public void test() throws IOException {
List<String> list = new ArrayList<String>();
HashMap<String, Integer> map = new HashMap<String, Integer>();
HashMap<String, Integer> map2 = new HashMap<String, Integer>();
String a = "ehlo";
try {
Method m = Object.class.getMethod("toString");
m.invoke(this);
} catch(NoSuchMethodException e) {
e.printStackTrace();
} catch(InvocationTargetException e) {
e.printStackTrace();
} catch(IllegalAccessException e) {
e.printStackTrace();
}
FileInputStream in = null;
try {
in = new FileInputStream("foo.txt");
int k;
while ((k = in.read()) != -1) {
System.out.write(k);
}
} finally {
if (in != null) {
in.close();
}
}
}
}
- Обратите внимание, что в среде IDE отображаются подсказки по оптимизации кода в соответствии со спецификациями JDK 7. Щелкните подсказки и выберите предложенные действия.
- По принятии всех предложений будет создан код, совместимый с JDK 7. Этот код будет выглядеть так же, как код, показанный ниже.

|
| Для просмотра полной версии перейдите по этой ссылке. Для загрузки щелкните, удерживая клавишу CTRL (1,8 Мб). |
Что дальше?
Подробные сведения о JDK 7 и среде IDE NetBeans приведены в разделах:
Подробную информацию о разработке приложений Java в среде NetBeans IDE см. в разделах: