Как автоматически заменить аргументы в методе и всех его вызовах
Предположим, у меня есть метод Java:
void method(int a, int b) {}
и много мест где это называется:
method(10, 12);
method(33, 44);
...
Как бы вы автоматически произвели рефакторинг замены аргументов для достижения следующего результата?:
void method(int b, int a) {}
method(12, 10);
method(44, 33);
...
Примечание: я ищу универсальное решение, которое обрабатывает все случаи методов и аргументов, и предпочитаю использовать инструменты Eclipse.
Изменить: Есть ли способ сделать это программно для набора методов, соответствующих заданным критериям из различных классов?
2 ответа
Щелкните правой кнопкой мыши метод (в редакторе исходного кода, в виде структуры или в любом другом представлении) и выберите Refactor -> Change Method Signature.
Откроется диалоговое окно, в котором вы можете изменить множество параметров метода. Изменение порядка аргументов также изменит вызовы этого метода (используйте предварительный просмотр, чтобы убедиться в этом).
http://fhc.quickmediasolutions.com/image/1635916007.png
Обратите внимание, что изменения в вызове работают только тогда, когда вы получили исходный код класса, выполняющего вызов, и он ссылается на источник, которым вы манипулируете.
Вы можете реорганизовать объявление метода. Затем он обновит все экземпляры вызова метода в соответствии с вашими изменениями.
Вы можете найти более подробную информацию здесь.