Définition Java Enum : Comprendre les génériques avec les paramètres de type
La classe Enum de Java utilise un paramètre de type particulier qui peut sembler déroutant au premier abord :
class Enum<E extends Enum<E>>
Ce paramètre signifie qu'un type d'énumération doit dériver d'un autre type d'énumération avec le même argument de type. En pratique, l'argument type est le type enum lui-même, comme le montre cet exemple :
public enum StatusCode extends Enum<StatusCode>
Dans ce scénario, E est équivalent à StatusCode. Ainsi, E étend Enum
Cette construction permet à l'API Enum de se référer à elle-même, comme dans Enum
Un concept similaire est observé en C# avec les interfaces de ProtocolBuffers :
public interface IBuilder<TMessage, TBuilder> where TMessage : IMessage<TMessage, TBuilder> where TBuilder : IBuilder<TMessage, TBuilder> public interface IMessage<TMessage, TBuilder> where TMessage : IMessage<TMessage, TBuilder> where TBuilder : IBuilder<TMessage, TBuilder>
Cela garantit que les messages et les générateurs peuvent être associé de manière appropriée.
Il convient de noter que le paramètre type n'empêche pas les incohérences. Par exemple, les types suivants seraient valides :
public class First extends Enum<First> {} public class Second extends Enum<First> {}
Dans ce cas, Second implémenterait Comparable
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!