Kann ich in Java 8 eine Aufzählung in zwei Enums aufteilen? [geschlossen]Java

Java-Forum
Anonymous
 Kann ich in Java 8 eine Aufzählung in zwei Enums aufteilen? [geschlossen]

Post by Anonymous »

Ich habe eine riesige Aufzählung mit Werten, die sowohl allgemein als auch domänenspezifisch sind. Ich möchte die Aufzählung in zwei Enums aufteilen, sie Commonfoo und Domainfoo nennen. Ich fand, dass, wenn ich eine einfache Schnittstelle erstelle, beide Enums von der Schnittstelle erben können und ich der Benutzeroberfläche Enum zuweisen kann. Gleichstellungsüberprüfungen scheinen auch richtig zu funktionieren. Und das ist wirklich alles, wofür ich die Aufenträger brauche. Meine Frage ist: Ist das sicher? Bin ich mich für zukünftiges Versagen vor, indem ich diesen Auflauf wiederherstellen kann? Also habe ich Folgendes definiert: < /p>

Code: Select all

public interface Foo {
String name();
}

public enum CommonFoo implements Foo {
B
}

public enum DomainFoo implements Foo {
B
}
Und ich fanden heraus, dass Gleichheit und Ungleichheit immer noch funktionieren, ebenso wie die Methode .Name () . Aber ist das in allen Fällen sicher? if (foo == commonfoo.b) ...
Ausgabe der enum in Protokolldateien. Ich verwende die Methode .Name () , um die Enum auszugeben. Ich weiß, wenn ich versehentlich zwei Enums mit demselben Namen benannte, wie B oben, unterscheidet das Protokoll nicht, welches es ist. Das ist für mich akzeptabel. logger.info ("ausführen" + foo.name ()); < /code> < /li>
< /ul>
Dinge, die ich nicht tun möchte: < /p>

Serialise das Enum. Wenn ich diesen Trick mit Enums benutze, kann ich die gewünschten Aktionen ausführen. Wenn ich die unerwünschten Aktionen versuche, werden sie fehlschlagen. und 2) Gibt es andere Aktionen, die funktionieren oder nicht? Ich möchte einige Zusicherungen haben, um mich zu unterstützen, wenn ich die Änderung vorschlage.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post