File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Java in General and the fly likes Storing values in enum Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "Storing values in enum" Watch "Storing values in enum" New topic

Storing values in enum

Jan Hoppmann
Ranch Hand

Joined: Jul 19, 2010
Posts: 147


My problem is the following: I have a class with a (not static) enum in it that represents 6 values. If I now create an instance of this class, are the values in the enum independent from the values in other objects?

Life is full of choices. Sometimes you make the good ones, and sometimes you have to kill all the witnesses.
pete stein

Joined: Feb 23, 2007
Posts: 1561
So I gather that your enum is defined as an inner class? If so, by definition per the JLS, inner Enum classes are implicitly static inner classes and so the enum's values are the same everywhere. In recognition of their being a static inner class, you need to access the enum from the outer class name and not an instance variable name:

Per the JLS, section 8.9:

Nested enum types are implicitly static. It is permissable to explicitly declare a nested enum type to be static.
Jan Hoppmann
Ranch Hand

Joined: Jul 19, 2010
Posts: 147

Yes, that's exactly what I tried to do. Okay, so I'll change my implementation to a Map instead.
Enums are still new (and quite confusing) to me
I agree. Here's the link:
subject: Storing values in enum
It's not a secret anymore!