enhanced enums - back from the dead?
brian.goetz at oracle.com
Wed Dec 12 17:58:53 UTC 2018
> Secondly, it's hard to imagine there being any unforeseen consequences of switching on a long. Here, I don't really know how to think it through yet. I would appreciate any "here's how we know that the changes we need to support this will have no user-visible consequences at all except for X, Y, and Z" type of explanation we have (apologies if I missed it).
Since you’re always on the lookout for “how can we use the Google codebase to answer questions about this”, here’s one: look for classes that implement the “type safe enum pattern” — ones with an inaccessible constructor, and a pile of pre-baked instances stuffed in static fields. Then ask yourself, why wasn’t this class an enum? And ask: could some of the complexity of that class go away with enhanced enums?
More information about the amber-spec-experts