# verschiedene Enums vom selben "Typ"



## Saduras (14. Aug 2010)

Hallo,

folgende Situation:
Ich habe 2 verschiedene Enums A und B. Weiter hab ich eine Klasse, die Enum A für eine Instanzvaribale verwendet.
Nun möchte ich meine Klasse so ändern, dass sie für die Instanzvaribale sowohl Werte vom Typ A als auch vom Typ B erkennt.

Wenn A und B normale Klassen wäre würde es ja klappen, wenn sie von der selben Klasse erben, aber soweit ich weiß funktioniert Vererbung bei Enums nicht. Wie krieg ich es trotzdem möglichs elegant hin?

Danke schon mal!
Gruß,
Saduras


----------



## Marco13 (14. Aug 2010)

Enums erben zumindest schonmal von Enum  Aber vielleicht ließe sich mit Generics was machen

```
class TheClass<T extends Enum<T>>
{
    T theEnum;
}
```
!?
Kann aber sein, dass man die Enum dann nicht mehr so verwenden kann, wie du sie brauchst...


----------



## Gastredner (14. Aug 2010)

Warum überhaupt zwei verschiedene enums, wenn du beide sowieso zusammen verwenden willst?


----------



## Saduras (14. Aug 2010)

Ich hab zwei verschiedene Enums, weil ich vor entweder die eine Gruppe von Werten oder die andere zu benutzten.
Die Idee alles in einem Enum unter zu bringen ist mir auch schon gekommen, ist aber wie ich finde keine sonderlich elegante Lösung.

Genau genommen geht es um eine Tetrisvariation.
Die beiden Enums sind Tetrominoes (alle bekannten Formen aus Tetris) und Pentominoes (Formen mit jeweils 5 Blocken statt 4).
Ich könnte auch auf die Enums verzichen und nur mit den Koordinaten der einezelnen Blöcke arbeiten, aber das ist ziemlich unübersichtlich, da finde ich es wesentlich schicker Namen für die einzelnen Formen zu haben, deswegen die Enums.

Gruß,
Saduras


----------

