Heim > Java > javaLernprogramm > Wie funktioniert Javas selbstreferenzieller Enum-Typparameter „E erweitert Enum'?

Wie funktioniert Javas selbstreferenzieller Enum-Typparameter „E erweitert Enum'?

Barbara Streisand
Freigeben: 2024-11-26 13:46:10
Original
285 Leute haben es durchsucht

How Does Java's Enum Self-Referential Type Parameter `E extends Enum` Work?

Java-Enum-Definition

Die Java-Enum-Klasse verwendet einen selbstreferenziellen Typparameter E, der Enum selbst. Die Interpretation dieses Parameters kann zunächst eine Herausforderung sein.

Erklärung

Der Typparameter gibt an, dass der Aufzählungstyp von einer Aufzählung mit demselben Typargument abgeleitet sein muss. Dadurch kann eine Enumeration in ihrer API auf sich selbst verweisen, beispielsweise durch die Implementierung von Comparable. Dadurch wird sichergestellt, dass Enum-Vergleiche innerhalb des richtigen Enum-Typs korrekt durchgeführt werden.

Zusätzliche Beispiele

Dieses Konzept kann auf andere Szenarien angewendet werden, in denen selbstreferenzierende Typparameter nützlich sind . Betrachten Sie das Beispiel von Nachrichten- und Builder-Paaren in ProtocolBuffers. Die Schnittstellen IBuilder und IMessage Definieren Sie eine Beziehung, bei der:

  • Eine Nachricht kann einen geeigneten Builder erhalten.
  • Ein Builder kann nach Abschluss die entsprechende Nachricht erstellen.

Diese selbst- Durch die referenzielle Parametrisierung wird sichergestellt, dass Builder und Nachrichten problemlos innerhalb der API gepaart und manipuliert werden können, während ihre Implementierungsdetails daraus abstrahiert werden Benutzer.

Einschränkungen

Selbstreferenzielle Typparameter bieten zwar Vorteile, verhindern jedoch nicht die Erstellung ungültiger Typen. Beispielsweise ist der folgende Code technisch gültig, aber möglicherweise nicht wünschenswert:

public class First extends Enum<First> {}
public class Second extends Enum<First> {}
Nach dem Login kopieren

In diesem Fall implementiert Second Comparable anstelle von Comparable. Die Gültigkeit von First bleibt jedoch davon unberührt.

Das Verständnis selbstreferenzieller Typparameter in Enum und anderen Szenarien ist entscheidend für die effektive Nutzung des generischen Systems von Java. Durch die Nutzung dieses Konzepts können Entwickler kohärentere und wartbarere Codebasen erstellen.

Das obige ist der detaillierte Inhalt vonWie funktioniert Javas selbstreferenzieller Enum-Typparameter „E erweitert Enum'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage