Есть ли какая-либо функциональность в Eclipse для рефакторинга моего кода, так что неквалифицированные обращения к полю получают код this
? Например, я писал свой код в статических методах, но теперь хотел бы изменить их на нестатические методы. Я предпочитаю ставить свой код с this
, чтобы он стал более понятным и понятным.Как добавить классификатор `this` в поля Java в Eclipse?
Я хотел бы простой способ для foo
и bar
здесь:
public class Example
{
private static String foo = "Hovercraft";
private static int bar = 9001;
public static void main(String[] args)
{
System.out.println(foo + " has " + bar + " eels.");
}
}
превратиться в this.foo
и this.bar
после того как я изменить код, чтобы использовать не статические методы:
public class Example
{
private String foo;
private int bar;
public class Example(String theFoo, int theBar)
{
this.foo = theFoo;
this.bar = theBar;
}
public void run()
{
System.out.println(this.foo + " has " + this.bar + " eels.");
}
}
Из Конечно, было бы легко добавить this.
вручную, если код такой короткий, но предположим, что у меня довольно большой фрагмент кода, по крайней мере, с несколькими десятками неквалифицированных полевых обращений. Как я буду делать это автоматически в Eclipse? Я не могу использовать «Refactor> Rename», потому что это не позволит мне использовать this.foo
для имени, а использование «Find/Replace» - это боль, поскольку оно также изменит объявления и, возможно, другие локальные переменные, которые были названы одинаковыми ,
Я нашел один способ сделать это после того, как тыкнул вокруг, прежде чем публиковать этот вопрос, поэтому я добавлю его в качестве ответа, но мне интересно, не хватает ли я других очевидных способов сделать это.