Как автоматически заменить аргументы в методе и всех его вызовах

Предположим, у меня есть метод 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

Обратите внимание, что изменения в вызове работают только тогда, когда вы получили исходный код класса, выполняющего вызов, и он ссылается на источник, которым вы манипулируете.

Вы можете реорганизовать объявление метода. Затем он обновит все экземпляры вызова метода в соответствии с вашими изменениями.

Вы можете найти более подробную информацию здесь.

Другие вопросы по тегам