Definisi Java Enum: Memahami Generik dengan Parameter Jenis
Kelas Enum Java menggunakan parameter jenis pelik yang pada mulanya mungkin kelihatan mengelirukan:
class Enum<E extends Enum<E>>
Parameter ini bermakna jenis enum mesti terbit daripada yang lain jenis enum dengan hujah jenis yang sama. Dalam amalan, hujah jenis ialah jenis enum itu sendiri, seperti yang dilihat dalam contoh ini:
public enum StatusCode extends Enum<StatusCode>
Dalam senario ini, E adalah bersamaan dengan StatusCode. Oleh itu, E melanjutkan Enum
Konstruk ini membolehkan API Enum merujuk kepada dirinya sendiri, seperti dalam Enum
Konsep yang sama diperhatikan dalam C# dengan antara muka 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>
Ini memastikan mesej dan pembina boleh dipasangkan dengan sewajarnya.
Perlu diperhatikan bahawa parameter jenis tidak menghalang ketidakkonsistenan. Sebagai contoh, jenis berikut adalah sah:
public class First extends Enum<First> {} public class Second extends Enum<First> {}
Dalam kes ini, Second akan melaksanakan Comparable
Atas ialah kandungan terperinci Bagaimanakah Parameter Jenis Generik Enum Java `E memanjangkan Enum` Berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!