Skip to content
Advertisement

How to implement enum with generics?

I have a generic interface like this:

JavaScript

This interface has limited instances, hence it would be best to implement them as enum values. The problem is those instances have different type of values, so I tried the following approach but it does not compile:

JavaScript

Any idea about this?

Advertisement

Answer

You can’t. Java doesn’t allow generic types on enum constants. They are allowed on enum types, though:

JavaScript

What you could do in this case is either have an enum type for each generic type, or ‘fake’ having an enum by just making it a class:

JavaScript

Unfortunately, they both have drawbacks.

User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement