假设我有一堆实现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/

10-12 06:10