Enum的Java优势

Vic*_*tor 2 java enums

使用Enum类比较某些东西有什么好处.有什么缺点:

public static final String TRUE = "true";
public static final String FALSE = "false";

public void method1(){

    if(TRUE.equals(inputString)){
        //do some logic
    }
    else if(FALSE.equals(inputString)){
        //do some other logic
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么建议使用Enum而不是String在示例中?

Ern*_*ill 5

一个重要的原因是enum,你知道价值是TRUE或者FALSE; 它不可能是别的.但它String可以有任何价值,所以你必须检查.这使代码更简单,更容易理解.

另一个是你可以比较enum元素==,但你必须使用相对较慢的equals()调用来比较String对象.

  • 您也可以在switch语句中使用Enums,这与字符串不同(对于JRE <1.7). (2认同)