Java: サブクラス下の列挙型で switch ステートメントを使用する 質問する
まず最初に述べておきますが、私は C# の列挙型にかなり精通していますが、Java の列挙型はかなり混乱しているようです。 ご覧のとおり、次の例では switch ステートメント @ enums を使用しようとしていますが、何をしても常にエラーが発生します。 受け取ったエラーは次のとおりです: 修飾されたケースラベルは、SomeClass.AnotherClass.MyEnum.VALUE_A修飾されていない列挙定数に置き換える必要があります。VALUE_A 問題は、エラーはよく理解しているのですが、列挙型が別のサブクラスにあるため、VALUE_A を記述することができないということです。この問題を解決する方法はありますか? また、Java でなぜこのようなことが起こるのでしょうか? //Main Class public class SomeClass { //Sub-Class public static class AnotherClass { public enum MyEnum { VALUE_A, VALUE_B } public MyEnum myEnum; } public void someMethod() { MyEnum enumExample //... switch (enumExample) { case AnotherClass.MyEnum.VALUE_A: { <-- error on this line //.. break; } } } }