Switch on Enum does not import class

Viewed 1230

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?

1 Answers
Related