如何在IntelliJ IDEA中执行布尔到枚举重构?

时间:2017-01-06 15:28:36

标签: java intellij-idea enums refactoring automated-refactoring

如何在IntelliJ IDEA中执行布尔到枚举重构?

例如,将其转换为:

void changeLights(boolean isOn) {
    this.isOn = isOn;
    }

changeLights(true);
changeLights(false);

进入这个:

enum LightState { ON, OFF }

void changeLights(LightState lightState) {
    this.lightState = lightState;
    }

changeLights(LightState.ON);
changeLights(LightState.OFF);

1 个答案:

答案 0 :(得分:2)

我会添加一个方法

@Deprecated
void changeLights(boolean isOn) {
    changeLights(isOn ? LightState.ON : LightState.OFF);
}

然后你可以内联这个方法。最后,您可以使用检查分析工具“简化”以简化

changeLights(true ? LightState.ON : LightState.OFF); // use IDEA to simplify

changeLights(LightState.ON);

类似于假 - > changeLights(LightState.OFF);