Есть ли способ отключить авто-бокс для Java 5 и 6 в IntelliJ IDEA, чтобы не позволить разработчику использовать эту функцию в среде IDE?Отключение автоматического бокса для Java в IntelliJ IDEA
ответ
Я не думаю, что вы можете отключить автоматический бокс при сохранении целевой компиляционной версии - это особенность конкретной версии Java.
Что вы, можете сделать сделать в IntelliJ, измените уровень контроля Auto-boxing на "Error". Для этого:
- Перейдите в «Настройки»> «Инспекции» и введите «бокс» в панель поиска.
- Нажмите «Авто-бокс».
- Установите степень серьезности на «Ошибка». Это приведет к тому, что тест проверок будет сообщать о любом возникновении автоматического бокса в качестве ошибки. Вы должны сделать то же самое и для автоматической распаковки.
Далее вниз линии, вы можете добавить код проверки которые выполняются при проверке кода (PMD, FindBugs, Cobertura, и др. И др.), Который выйдет из строя сборки, если что-либо быть автоматически боксировал или авто-распакованный ,
Вы не можете отключить автобоксинг, не превращая Java в форму «не-Java»; однако вы можете уменьшить влияние некоторых из самых ужасных проблем с автобоксингом.
FindBugs, анализатор кода, содержит несколько конкретных правил автобоксинга, чтобы избежать ситуаций, когда автооблок становится довольно проблематичным.
Все они начинаются с "Bx:" Идентификатор:
- Ве: Примитивное значение в штучную упаковке, и затем сразу же распакованный (BX_BOXING_IMMEDIATELY_UNBOXED)
- Вй: Примитивное значение в штучной упаковке, то распакованным выполнять примитивные принуждение (BX_BOXING_IMMEDIATELY_UNBOXED_TO_PERFORM_COERCION)
- Ве: в штучной упаковке значение распакованное, а затем сразу reboxed (BX_UNBOXING_IMMEDIATELY_REBOXED)
- Bx: метод выделяет примитив в штучной упаковке только для вызова toString (DM_BOXED_PRIMITIVE_TOSTRING)
- Bx: метод вызывает неэффективный конструктор чисел с плавающей запятой; использовать статическое значениеOf вместо (DM_FP_NUMBER_CTOR)
- Bx: метод вызывает неэффективный конструктор Число; использовать статический valueOf вместо (DM_NUMBER_CTOR)
Вы можете интегрировать отчет Findbug в сборку, и в зависимости от системы сборки вы используете, даже сборки жалуются или провальными в зависимости от наличия проблем, обнаруженных с помощью FindBugs.
Из интереса, почему вы хотите это сделать? – RNJ
@RNJ Держу пари, ответ будет: потому что он не исполнен. – Ingo
Не знаю, если. Он встроен в JDK, и он не настраивается. – duffymo