Обзор поддержки JDK 7 в IDE NetBeans

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

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

Содержание

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

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

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

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

Включение поддержки 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 в переключатель
  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 см.:

Дополнительные сведения о разработке приложений в IDE NetBeans см. следующие ресурсы:

get support for the NetBeans

Support


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2015, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo