Say I have an Enum as follows:
package stackoverflow.models; public enum MyEnum { VALUE_1, VALUE_2; }
And then I have a POJO in which this Enum is one of its fields:
package stackoverflow.models; public class MyPojo { private MyEnum myEnum; public MyEnum getMyEnum() { return myEnum; } public void setMyEnum(MyEnum myEnum) { this.myEnum = myEnum; } }
Now, if I have to make a switch
on MyPojo.getMyEnum()
, I need not to import Enum directly into my class:
package stackoverflow.classes; import stackoverflow.models.MyPojo; public class MyClass { public static void main(final String... args) { final MyPojo pojo = new MyPojo(); switch(pojo.getMyEnum()) { case VALUE_1: break; case VALUE_2: break; default: break; } } }
I'm just wondering why that is? How does Java resolve Enum values if it does not import Enum directly?
Dan w source share