有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在Android Studio中将常量类重构为枚举

我想将使用class个常量的旧代码重构为enum,代码中的一些地方已经在使用该代码。(我知道它是possible in eclipse,但在IntelliJ Refactoring Dialogs上没有找到它)

当前状态:

public class MyConstants {
    public static String MY_CONSTANT_1 = "MY_CONSTANT_1_VALUE";
    public static String MY_CONSTANT_2 = "MY_CONSTANT_2_VALUE";
    public static String MY_CONSTANT_3 = "MY_CONSTANT_3_VALUE";
}
public class MyClass {
    //usage of constant
    if (mString.equals(MyConstants.MY_CONSTANT_1)){}
}

预期结果:

enum MyEnum {
        MY_CONSTANT_1("MY_CONSTANT_1_VALUE"),MY_CONSTANT_2("MY_CONSTANT_2_VALUE"),MY_CONSTANT_3("MY_CONSTANT_3_VALUE")
        private final String value;
        MyEnum(String aValue){
            value = aValue;
        }
        public String getValue(){
           return value;
        }
}
public class MyClass {
    //usage of constant
    if (mString.equals(MyConstants.MY_CONSTANT_1.getValue())){}
}

注意:我知道Androidofficial documentation建议不要使用enum,但这不是我的问题


共 (1) 个答案

  1. # 1 楼答案

    你不能用Android Studio自动完成