Was ist die beste Vorgehensweise zum Packen von Java-Enums?
Ist es eine separate Datei für jede Aufzählung?
oder
dieselbe Datei für alle Aufzählungen haben?
Was sind die Vor- und Nachteile?
Was ist die beste Vorgehensweise zum Packen von Java-Enums?
Ist es eine separate Datei für jede Aufzählung?
oder
dieselbe Datei für alle Aufzählungen haben?
Was sind die Vor- und Nachteile?
Antworten:
Erstens lautet eine übergeordnete Regel: Wenn eine enum
öffentlich ist, muss sie in einer eigenen Datei deklariert werden. Dies ist eine Java-Regel, die für alle Klassen, Schnittstellen und enum
s gilt, die nicht beschädigt werden können.
Für nicht öffentliche enum
s sollten Sie dieselbe Regel befolgen, außer wenn mehrere enum
s eng miteinander verbunden sind.
Wenn Sie beispielsweise einen Ausdrucksprozessor erstellen und eine Aufzählung für einen Ausdruckstyp, einen binären Ausdruckstyp und einen unären Ausdruckstyp deklarieren, möchten Sie möglicherweise die drei Aufzählungen in einer einzigen Datei zusammenfassen.
enum
s unterscheiden sich nicht von den Regeln für andere Klassen: Wenn eine Klasse öffentlich ist, muss sie sich in der Datei an einem geeigneten Speicherort befinden, der mit dem Paketnamen übereinstimmt, wobei der Klassenname mit dem Dateinamen übereinstimmt.
Aufzählungen sind Klassen, daher sollten Sie sie als normale Klassen verpacken. Wenn die Aufzählung an vielen Stellen im Paket verwendet wird, fügen Sie sie in eine einzelne Datei ein. Wenn die Aufzählung stark mit einer Klasse verknüpft ist, setzen Sie sie als öffentliche (oder geschützte) statische innere Klasse ein.
Ich sehe keine Gründe, alle Aufzählungen in einer einzigen Datei zu platzieren, es sei denn, sie hängen zusammen.