Как всем известно из Java 9, большинство конструкторов классов-оболочек устарели.
Например:
new Boolean(true): Deprecated : Instead use Boolean.valueOf(true);
new Boolean("false") : Deprecated : Instead use Boolean.parseBoolean("false");
https://docs.oracle.com/javase/9/docs/api/java/lang/Boolean.html
Просто хотел знать, есть ли какой-либо инструмент или API, разработанный / созданный для внесения этих изменений, или нам нужно создать собственный сценарий / программу / ручные изменения для этого?
Просто подумал о написании сценария оболочки, который будет читать все файлы в каталоге и заменять новое логическое значение на valueOf. Но я застрял, потому что при чтении файла я никогда не узнаю, какой будет тип аргумента? boolean или String, а также когда использовать valueOf и parseString в примере выше.
Я могу использовать это, но снова не могу сказать, что следует использовать valueOf или parseBoolean.
Почти никогда не требуется вызывать Boolean.valueOf (boolean). Автобокс сделает это за вас.
@VGR Я говорил о Boolean.parseBoolean ("истина"). Здесь параметр - строка.
Если вы работаете не в системе Windows или если у вас установлена система Cygwin, вы можете использовать find /path/to/project -name '*.java' -exec sed -i 's/new Boolean\(([^)]*)\)/Boolean.valueOf\1/g' '{}' + для облегчения нагрузки. Однако я не думаю, что можно использовать регулярное выражение для сопоставления произвольных уровней вложенных скобок.




Здесь вам может помочь любой хороший редактор. В идеале вам просто нужен хороший подход к поиску и замене, чтобы отличить new Boolean("false") от new Boolean(false).
Например, используя intelliJ, можно четко видеть различные совпадающие строки при нахождении new Boolean(true), когда в то же время блок кода включает также и new Boolean("true").
PS: аналогичный подход будет работать с поиском и заменой всех, выполняя то же самое в корневом каталоге проекта. Вот и гид от JetBrains примерно такой же.
Это нормально с редактором. Но предположим, что у меня есть около 500+ классов, которые имеют такую инициализацию объекта-оболочки. Я не хочу делать это вручную, открывая каждый класс в редакторе.
@ArnabDhar Существует опция ReplaceAll и FindAll (с указанием пути к каталогу), доступная с IDE, а также для самой этой цели
Используйте утилиту поиска и замены RegEXP IDE