corner imagecorner image
IDEPlatformPluginsDocs & SupportCommunityPartners

Поддержка JDK 7 в среде IDE NetBeans 7.0: краткий обзор

В среде IDE NetBeans 7.0 обеспечивается поддержка новых функций языка JDK 7, например операции "бубна", использования типа String в операторе switch, мультизахвата и т.д. При использовании этих конструкций в коде среда IDE распознает их, предлагает правильные классы для автозавершения кода, правильно выделяет ошибки и позволяет автоматически исправлять синтаксис. Таким образом, среда IDE NetBeans помогает создавать код, совместимый со спецификацией языка JDK 7.

В этом учебном курсе будет рассмотрено включение поддержки JDK 7 в среде IDE, а также обработка новых языковых конструкций в среде IDE.

Содержание

Содержимое·данной·страницы·применимо·к·средам IDE NetBeans·7.0·и·7.1

Для работы с этим учебным курсом потребуются программное обеспечение и ресурсы, перечисленные в таблице ниже.

Программное обеспечение или ресурс Требуемая версия
Среда IDE NetBeans версии 7.0 и 7.1
Комплект для разработчика на языке Java (JDK) версия 7

Регистрация Java 7 в среде NetBeans IDE

Включение поддержки JDK 7 в среде IDE NetBeans

  1. Загрузите и установите JDK 7 на свою систему.
  2. В среде IDE выберите "Сервис" > "Платформы Java".
  3. Выберите команду "Добавить платформу" и укажите каталог, содержащий пакет JDK (например, в системе Windows это каталог установки JDK, местоположение которого по умолчанию C:\Program Files\Java\jdk1.7.0).
    Каталог, содержащий платформу Java, помечен значком платформы Java .
  4. На этапе "Имя платформы" убедитесь в том, что местоположения архива ZIP источника платформы и документации по интерфейсу API действительны.
  5. Для закрытия диалога добавления платформы Java нажмите кнопку "Готово".
  6. Убедитесь в том, что в списке "Платформы" выбран пункт "JDK 1.7", и нажмите кнопку "Закрыть".
Для просмотра полной версии перейдите по этой ссылке. Для загрузки щелкните, удерживая клавишу CTRL (1,1 Мб).

Примечание. Документация Javadoc для платформы интерфейса API, используемого по умолчанию, расположен по этому адресу. Для автономного использования можно загрузить файл JAR документации Javadoc со страницы двоичных снимков JDK7 и указать его местоположение в системе.

Настройка использования JDK 7 в проекте

После регистрации JDK 7 в среде IDE необходимо настроить проект для использования JDK при компиляции, выполнении и отладке.

  1. Создайте проект Java. Выберите команды "Файл" > "Создать проект", а затем выберите тип проекта "Приложение Java". Нажмите кнопку "Далее".
  2. В качестве имени проекта введите SwitchTest и укажите его местоположение.
  3. В окне "Файлы" щелкните правой кнопкой мыши узел проекта SwitchTest и выберите команду "Свойства" > "Библиотеки". На этой вкладке в списке платформ Java пункт JDK 1.7
    Установка JDK 7 в качестве целевого формата.
  4. Перейдите на вкладку "Исходные коды" в окне "Свойства проекта" и выберите JDK 7 в качестве формата исходных/двоичных файлов.
    Выбор JDK 7 в качестве исходного формата
  5. Нажмите кнопку "ОК" для подтверждения изменений. Теперь проект настроен на распознавание новых функций языка 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.

  1. Откройте файл 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 для выполнения повторного форматирования.

  2. В окне "Файлы" щелкните правой кнопкой мыши узел проекта и выберите команду "Выполнить". На экране отобразится вывод приложения, который представляет собой код RGB для красного цвета.
    Таким образом, сборка выполнена успешно, а приложение успешно работает при указании целевой платформы и исходного формата JDK 7.
    Вывод выполняемого проекта.
  3. Вернемся к JDK 6 и проверим компилирование приложения с помощью компилятора JDK 6.
    В окне "Файлы" щелкните правой кнопкой мыши узел проекта и выберите команду "Свойства". На вкладке "Библиотеки" установите платформу JDK 1.6, а на вкладке "Исходные файлы" выберите для параметра "Формат исходных файлов" значение JDK 6.
    Сразу видно, что синтаксический анализатор JDK6 не распознает синтаксис. Компиляция завершается с ошибкой из-за несовместимого типа переменной.
    Вывод выполняемого проекта.
  4. Теперь воспользуемся оператором if-then-else вместо switch, как показано на рисунке.
    Если в качестве целевой платформы используется JDK 7, то среда IDE распознает такие случаи и предлагает преобразовать их в switch.
    Щелкните подсказку, и конструкция if-then-else будет автоматически преобразована в конструкцию switch, которая использовалась ранее.
    Преобразование конструкции if-then-else в конструкцию switch
  5. Запустите приложение с другими значениями.
Для просмотра полной версии перейдите по этой ссылке. Для загрузки щелкните, удерживая клавишу CTRL (2,5 Мб).

Поддержка JDK 7: дополнительные примеры

Чтобы проиллюстрировать возможности распознавания и автоматического исправления кода в редакторе Java среды IDE для обеспечения совместимости со спецификациями языка JDK 7, воспользуемся фрагментом кода, который не имеет смысла, но содержит все основные улучшения.

При анализе этого фрагмента кода и применении подсказок редактора будут продемонстрированы следующие возможности.

  • Автоматический вывод типов, при котором компилятор Java определяет тип общего экземпляра без необходимости его явного указания. Так называемый оператор "бубна" позволяет отметить случаи вывода типа.
  • Улучшенная обработка исключений или мультизахват, при котором один блок catch может использоваться для нескольких типов исключений.
  • Новый синтаксис операторов закрытия ресурсов, используемый функцией автоматического управления ресурсами.
  1. Замените существующий код приложения в файле 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();
                }
            }
        }
    }
     
  2. Обратите внимание, что в среде IDE отображаются подсказки по оптимизации кода в соответствии со спецификациями JDK 7. Щелкните подсказки и выберите предложенные действия.
  3. По принятии всех предложений будет создан код, совместимый с JDK 7. Этот код будет выглядеть так же, как код, показанный ниже.
    Преобразованный фрагмент кода
Для просмотра полной версии перейдите по этой ссылке. Для загрузки щелкните, удерживая клавишу CTRL (1,8 Мб).

Что дальше?

Подробные сведения о JDK 7 и среде IDE NetBeans приведены в разделах:

Подробную информацию о разработке приложений Java в среде NetBeans IDE см. в разделах: