enumにはenum定数を取得するメソッドがあり、名前を持つクラスにvalueOf(string)
存在する同じタイプのメソッド
が両方とも同じ出力を出していることがわかりました。次に、他の違いは何ですか。違いがない場合、なぜJSLが追加されたのですか?java.lang.Enum
valueOf(enumClassName, string)
Enum.valueOf()
enum Season {
WINTER,SUMMER
}
class Test {
public static void main(String[] args) {
String season = "WINTER";
//switch (Season.valueOf(colObject)) // following line achieves same thing
switch (Enum.valueOf(Season.class, season)) // any other difference between both approach
{
case WINTER: {
System.out.println("Got it in switch case= VENDOR");
break;
}
default:
System.out.println("Fell thru.");
break;
}
}
}