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

Java 如何在IntelliJ IDEA中执行布尔枚举重构?,java,intellij-idea,enums,refactoring,automated-refactoring,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;

如何在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);
我想补充一个方法

@Deprecated
void changeLights(boolean isOn) {
    changeLights(isOn ? LightState.ON : LightState.OFF);
}
然后可以内联这个方法。最后,您可以使用检查分析工具“简化”以简化

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


类似于false->
changeLights(LightState.OFF)

我希望在Intellij中有一些专门的布尔函数来进行枚举重构。看来它真的不存在了(我相信你犯了一个小错误?你想添加
void changeLights(LightState-LightState){this.LightState=LightState;}
然后将原来的
changeLights
方法更改为
void changeLights(boolean-isOn){changeLights(isOn?LightState.ON:LightState.OFF);)
,然后内联最后更改的方法并对其进行简化。我已经打开了这个问题:有关手动步骤的列表,您可以查看
changeLights(LightState.ON);