2016-03-04 10 views
5

Ich muss eine Java-Klasse machen, die einen einzelnen Enum-Wert von vielen erhalten kann. Zum Beispiel:Speichern Sie einen einzelnen Enum-Wert von vielen möglichen Typen

public class MyClass 
{ 
    public enum enumA {..} 
    public enum enumB {..} 
    public enum enumC {..} 
    public enum enumD {..} 

    private OneOfTheEnumsAboveMember enumMember; 
} 

Da Aufzählungen nicht verlängert werden kann, wie kann ich ein einzelnes Element definieren, die muss eine der Aufzählungen sein?

+5

Machen Sie Ihre Enums eine Schnittstelle implementieren. –

Antwort

6

Enums können nicht erweitert werden, aber sie können Schnittstellen implementieren. Sie könnten eine leere Marker-Schnittstelle haben (oder besser noch - haben Sie Methoden, die Sie tatsächlich benötigen), und machen Sie den Typ Ihres Mitglieds:

Verwandte Themen