Существует ли путь/инструмент к автоматическому исходному коду Java преобразования от использования необработанных типов к использованию универсальных типов?
У меня есть некоторый унаследованный код с 677 ссылками на необработанные типы:
ArrayList 47
Vector 420
Hashtable 61
Enumeration 64
Class 7
Iterator 78
TOTAL 677
Теперь я мог вручную просмотреть код для выведения универсальных типов и замены, но это собирается занять много времени.
Eclipse действительно имеет 'вывести общие типы' инструмент рефакторинга (я не знаю, будет ли он обрабатывать несколько классов за одно обращение, но возможно).
Заменяет необработанные вхождения общих типов параметризованными типами после определения всех мест, где эта замена возможна. Доступно: проекты, пакеты и Параметры типов: 'Assume clone () возвращает экземпляр типа получателя ". Классы с хорошим поведением обычно соблюдают это правило, но если вы знаете , что ваш код его нарушает, снимите флажок .
'Оставлять аргументы неограниченного типа необработанными (а не предполагаемыми)'. Если нет ограничений на элементы , например, ArrayList a, снимите флажок , в этом поле Eclipse будет по-прежнему предоставлять параметр подстановочного знака, заменяя ссылку на ArrayList.
IntelliJ также есть Refactor | Generify. Пять лет назад это работало довольно прилично, так что теперь, думаю, не хуже!