Быстрое исправление

Редактор Java предлагает исправлять ошибки, обнаруженные во время ввода и после компиляции. О наличии вариантов исправления ошибки или предупреждения сигнализирует индикатор в виде светящейся лампочки в строке аннотаций редактора.

При щелчке мышью на светящейся лампочке или нажатии Ctrl+1 (Правка > Быстрое исправление) в позиции курсора появляются варианты исправления ошибки.
Каждый вариант быстрого исправления можно предварительно просмотреть в окне вариантов.

Некоторым вариантам быстрого исправления можно присвоить свои комбинации клавиш. Эти комбинации можно настроить на странице параметров Открывает страницу параметров клавиш Общие > Клавиши (в разделе 'Источник').

Окно выбора быстры исправлений

Предоставляются следующие быстрые исправления:

Объявление пакета
  • Добавить отсутствующее или исправить существующее объявление пакета
  • Переместить модуль компиляции в пакет, соответствующий объявлению пакета
Объявления импорта
  • Удалить неиспользуемые, нераспознаваемые или невидимые объявления импорта
  • Выполнить операцию 'Реорганизовать объявления импорта' над неполадками в объявлениях импорта
Типы
  • Создать новые класс, интерфейс, перечисление, аннотацию или переменную типа для ссылок на типы, которые не удается вычислить
  • Изменить уровень видимости - для типов, которые доступны, но невидимы
  • Переименовать в схожий тип - для ссылок на нераспознаваемые типы
  • Добавить оператор импорта - для типов, которые нераспознаваемы, но существуют в проекте
  • Добавить явный оператор импорта - для неоднозначных ссылок на типы (два запроса на импорт для одного и того же типа)
  • Переименовать либо тип, либо модуль компиляции - если имя типа не соответствует имени модуля компиляции
  • Удалить неиспользуемые частные типы
Конструкторы
  • Создать конструктор - для ссылок на нераспознаваемые конструкторы (т.е. создать базовый или новый класс)
  • Переупорядочить, добавить или удалить аргументы - для ссылок конструкторов с неправильными параметрами
  • Изменить метод с именем конструктора на конструктор (удалить тип return)
  • Изменить уровень видимости - для конструкторов, которые доступны, но невидимы
  • Удалить неиспользуемый частный конструктор
  • Создать конструктор - если базовый вызов неявного конструктора по умолчанию не определен, невидим или выбрасывает исключение
  • Изменить модификатор типа на 'abstract' или добавить метод для реализации - если тип содержит нереализованные методы
Методы
  • Создать метод - для ссылок на нераспознаваемые методы
  • Переименовать в схожий метод - для ссылок на нераспознаваемые методы
  • Переупорядочить или удалить аргументы - для ссылок методов с неправильными параметрами
  • Исправить тип доступа (уровень видимости, статический) - для методов, на которые указывает ссылка
  • Удалить неиспользуемые частные методы
  • Исправить тип возврата - для методов, в которых тип возврата отсутствует или не соответствует оператору возврата
  • Добавить оператор возврата - если он отсутствует
  • Изменить метод на 'abstract' или добавить тело - для неабстрактных методов без тела
  • Удалить модификатор 'abstract' метода или сделать тип абстрактным - для абстрактного метода в неабстрактном типе
  • Удалить модификатор 'abstract' или 'native' или удалить тело - для абстрактного или стандартного метода с телом
  • Изменить тип доступа к методу на 'static' - если метод вызывается внутри вызова конструктора (super, this)
  • Изменить тип доступа к методу на 'default' во избежание эмулированного доступа к методу
Поля и переменные
  • Исправить тип доступа (уровень видимости, статический) - для полей, на которые указывает ссылка
  • Создать поля, параметры, локальные переменные или константы - для ссылок на нераспознаваемые переменные
  • Переименовать в переменную со схожим именем - для нераспознаваемых ссылок
  • Удалить неиспользуемые частные поля
  • Исправить тип доступа, отличный от статического, - для статических полей
  • Добавить модификатор 'final' к локальным переменным, используемым во внешних типах
  • Изменить тип доступа к полю на 'default' во избежание эмулированного доступа к методу
  • Изменить тип локальной переменной для устранения несоответствия типов
  • Инициализировать переменную, которая не была инициализирована
Обработка исключений
  • Удалить ненужный блок catch
  • Обработать необработанное исключение, заключив его в блок try/catch или добавив блок catch в окружающий блок try
  • Обработать необработанное исключение, добавив объявление о выбросе в родительский метод или обобщив существующее объявление о выбросе
Неполадки пути компоновки
  • Добавить отсутствующий JAR или библиотеку для нераспознанного типа
  • Открыть окно пути компоновки для неполадок, связанных с ограничением доступа или отсутствующими двоичными классами.
  • Задать совместимость проекта и JRE как 5.0
  • Задать совместимость рабочей области и JRE как 5.0
Прочие
  • Добавить или изменить преобразование типов для устранения их несоответствия
  • Позволить типу реализовывать интерфейс или исправить несоответствие типов
  • Открыть мастер NLS или пометить строку как не поддерживающую NLS - для строк, не поддерживающих NLS
  • Добавить отсутствующие аннотации @Override, @Deprecated
  • Отключить показ предупреждения с помощью @SuppressWarning

Быстрая помощь - это варианты, доступные даже при отсутствии ошибки или предупреждения. Дополнительная информация приведена на странице Быстрая помощь.

Связанные концепции

Редактор Java
Быстрая помощь

Связанные ссылки

Действия JDT