假设我有一堆实现javabean样式的类,并且我想摆脱getters / setter方法,而只使用公共字段。有什么方法可以在不中断编译的情况下有效地重构使用IntelliJ 14?
示例-之前:
class Baratheon {
private String stannis;
public String getStannis() {
return stannis;
}
public void setStannis(String stannis) {
this.stannis = stannis;
}
}
class Lannister {
public Lannister() {
Baratheon b = new Baratheon();
b.setStannis("dead");
}
}
- 后:
class Baratheon {
public String stannis;
}
class Lannister {
public Lannister() {
Baratheon b = new Baratheon();
b.stannis = "dead";
}
}
最佳答案
重构中涉及的显而易见的步骤是:
公开领域,保留访问者。
将客户端代码更改为直接访问字段,而不是通过访问器。
删除访问器。
您可以利用intellij(Ctrl + Shift + n)中的'inline ...'重构来帮助执行步骤2。
我认为intellij中没有一个可以完成整个工作的重构工具,请记住,只有将整个受影响的代码库都放在一个项目中,这才是真正可能的。您可以考虑编写一个可以完成此任务的plugin。
关于java - IntelliJ可以将属性(获取/设置)重构为字段吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36967282/