Rumah >Java >javaTutorial >Bagaimanakah Parameter Jenis Rujukan Kendiri Enum `E memanjangkan Enum` Berfungsi?

Bagaimanakah Parameter Jenis Rujukan Kendiri Enum `E memanjangkan Enum` Berfungsi?

Barbara Streisand
Barbara Streisandasal
2024-11-26 13:46:10279semak imbas

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

Definisi Java Enum

Kelas Java Enum menggunakan parameter jenis rujukan sendiri E yang memanjangkan Enum sendiri. Mentafsir parameter ini boleh mencabar pada mulanya.

Penjelasan

Parameter jenis menentukan bahawa jenis enum mesti terbit daripada enum dengan hujah jenis yang sama. Ini membolehkan enum merujuk dirinya sendiri dalam APInya, seperti melaksanakan Comparable. Ini memastikan bahawa perbandingan enum dilakukan dengan betul dalam jenis enum yang betul.

Contoh Tambahan

Konsep ini boleh digunakan pada senario lain di mana parameter jenis rujukan sendiri berguna . Pertimbangkan contoh pasangan mesej dan pembina dalam ProtocolBuffers. Antara muka IBuilder dan IMessage mentakrifkan perhubungan di mana:

  • Mesej boleh mendapatkan pembina yang sesuai.
  • Pembina boleh mencipta mesej yang sepadan setelah selesai.

Kendiri ini parameterisasi rujukan memastikan bahawa pembina dan mesej boleh dipasangkan dan dimanipulasi dengan mudah dalam API sambil mengabstrakkan butiran pelaksanaannya daripada pengguna.

Penghadan

Walaupun parameter jenis rujukan sendiri memberikan faedah, parameter tersebut tidak menghalang penciptaan jenis yang tidak sah. Sebagai contoh, kod berikut adalah sah dari segi teknikal tetapi mungkin tidak diingini:

public class First extends Enum<First> {}
public class Second extends Enum<First> {}

Dalam kes ini, Second melaksanakan Comparable bukannya Setanding. Walau bagaimanapun, kesahihan First tetap tidak terjejas.

Memahami parameter jenis rujukan sendiri dalam Enum dan senario lain adalah penting untuk memanfaatkan sistem generik Java dengan berkesan. Dengan menggunakan konsep ini, pembangun boleh mencipta pangkalan kod yang lebih padu dan boleh diselenggara.

Atas ialah kandungan terperinci Bagaimanakah Parameter Jenis Rujukan Kendiri Enum `E memanjangkan Enum` Berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn