Search code examples
javaeclipseenumseclipse-junojpage

Enum in Eclipse Scrapbook


Not sure if this is a bug or if I am going a bit crazy.. Am trying to do some quick testing of enums in an Eclipse jpage Scrapbook (using JDK 1.7.0_02, Win XP 64-bit, Eclipse Juno)

class A {
    enum Month {JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC}
}
A a = new A();

When I try execute this I get:

The member enum Month can only be defined inside a top-level class or interface

And this is what happens if I move the enum out of the class definition.

enum Month {JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC}
Month.valueOf("JAN");

These are the errors I got for the above:

The member enum Month can only be defined inside a top-level class or interface

Month cannot be resolved


Solution

  • I believe the only way to do this is to move the enum itself out of the jpage into a new class. So I make the class like so:

    package test;
    public class Test {
       public enum Month {
          JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC;
       };
    }
    

    Then in the jpage:

    1. right click and select "Set Imports"
    2. click "Add Packages" and enter/select the test package.

    Then my jpage will have the following code only:

    Test.Month.valueOf("JAN");