Выражения переключателя intellij Java 12 не работают
Я пытаюсь использовать Java 12 в IntelliJ, но при попытке запустить мое приложение возникает ошибка
Error:(57, 32) java: switch expressions are a preview feature and are disabled by default.
(use --enable-preview to enable switch expressions)
Я добавил в конфигурацию приложения VM параметр --enable-preview, но эта ошибка все еще возникает. Я добавил пути SDK. Кто-нибудь имеет представление, что я делаю не так?
List<Car> sortedCars = switch (sortType) {
case COLOR -> cars.stream().sorted(Comparator.comparing(Car::getColor)).collect(Collectors.toList());
case MILEAGE -> cars.stream().sorted(Comparator.comparing(Car::getMileage)).collect(Collectors.toList());
case MODEL -> cars.stream().sorted(Comparator.comparing(Car::getModel)).collect(Collectors.toList());
case PRICE -> cars.stream().sorted(Comparator.comparing(Car::getPrice)).collect(Collectors.toList());
};
2 ответа
По умолчанию уровень языка установлен на " 12 - Нет нового языка ". Вам нужно изменить его на " 12 (Preview) - Switch Expression ", и вы получите всплывающее окно, чтобы принять изменения Preview. Пост, который вы сможете запускать в выражениях switch switch.
Настройки уровня языка
Я использую IntelliJ IDEA 2019.1.1 (Community Edition)
Убедитесь, что параметр "Уровень языка проекта" в диалоговом окне "Структура проекта" для вашего проекта установлен на Java 12. В этом случае IntelliJ IDEA автоматически добавит параметр --enable-preview.
Поле параметров виртуальной машины в конфигурации запуска влияет на способ запуска приложения, а не на его компиляцию, поэтому добавление этого параметра не имеет никакого эффекта.