Say I have an Enum as follows:
package stackoverflow.models;
public enum MyEnum {
VALUE_1,
VALUE_2;
}
And then I have a POJO which has this Enum as 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, should I do a switch on MyPojo.getMyEnum(), I do not need to import the 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 was just wondering why this is? How does Java resolve the Enum values if it doesn't import the Enum directly?