如何在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);
答案 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);