Kann jemand bitte erklären, was das bedeutet?Erklären Sie die in der Enum-Deklaration verwendeten Generika
Enum<T extends Enum<T>>
Dies scheint wie eine zirkuläre Definition, und ich finde es sehr verwirrend, um es gelinde auszudrücken.
Kann jemand bitte erklären, was das bedeutet?Erklären Sie die in der Enum-Deklaration verwendeten Generika
Enum<T extends Enum<T>>
Dies scheint wie eine zirkuläre Definition, und ich finde es sehr verwirrend, um es gelinde auszudrücken.
Es gibt eine good explanation in the Java Generics FAQ.
Vom Ende Bit:
Um es zusammenzufassen, die Erklärung
Enum<E> extends Enum<E>>
entziffert werden kann als:Enum
ein generischer Typ ist, der kann nur für seine Subtypen instanziert werden, und diese Subtypen erben einige nützliche Methoden, von denen einige Subtyp-spezifische Argumente (oder ansonsten vom Subtyp abhängen).
(ich aber sympathisieren - rekursiv allgemeine Erklärungen sind ein Schmerz Meine Protokoll puffert Port C# obwohl noch schlimmer ist:. Es erfordert zwei Erklärungen, die jeweils für sich beziehen und einander ... I haven‘ t haben einen Weg gefunden, sie zu vereinfachen.