Setiap kalimat dari artikel ini bijaksana. Saya berharap orang -orang tua pasti akan mendapatkan sesuatu saat membacanya dengan cermat dan mempraktikkannya.
Abstrak: Artikel ini terutama membahas penggunaan kelas enumerasi di lingkungan produksi. Pertama, kami akan memperkenalkan topik yang kami bahas dengan memperkenalkan secara singkat konsep kelas enumerasi; Kemudian kita akan langsung ke bagian tempur yang sebenarnya. Artikel ini hanya akan memperkenalkan situasi yang lebih sering digunakan dalam pertempuran yang sebenarnya dan umumnya digunakan, jadi saya berharap Lao Tie dapat mengalami dan mempraktikkannya dengan hati -hati dan akhirnya mengubahnya menjadi miliknya; Akhirnya, kami akan memberikan pengantar singkat tentang pencacahan API. Sisa konten yang belum diperkenalkan pada dasarnya jarang digunakan di lingkungan produksi kami. Jika Anda tertarik, Anda dapat melakukan penelitian mendalam sendiri.
menghitung
Konsep: Jenis Pencacahan adalah bagian dari fitur baru di Java 5. Ini adalah tipe data khusus. Karakteristiknya adalah bahwa kode kita lebih ringkas dan aman. Sampai batas tertentu, ini memungkinkan kita untuk memahami logika bisnis lebih jelas dari perspektif global (misalnya, setelah keadaan pesanan didefinisikan sebagai kelas enumerasi, kita tidak perlu melihat kode logika bisnis, kita hanya perlu memahami semua keadaan pesanan kita dari kelas enumerasi ini, memberi kita kesan global dalam pikiran kita, yang lebih kondusif untuk pemilahan kode.
Definisi: Pertama, gunakan enum untuk mendefinisikan kelas enum; maka setiap nilai enum (mis., Enum yang dinyatakan) dipisahkan oleh koma. Jika ada kode operasi setelah nilai enum, maka tambahkan titik koma ke nilai enum terakhir; Akhirnya ingat bahwa setiap nilai yang dinyatakan dalam kelas enum adalah contoh, yaitu, ada nilai enum, dan konstruktor disebut n kali untuk membuat instance enum. Berikut adalah contoh kecil:
enum seasontype {musim semi, musim panas, musim gugur, musim dingin; Seasontype () {System.out.println ("Lihat berapa kali konstruktor ini disebut"); }} Musim kelas publik {public static void main (string [] args) {system.out.println (seasontype.spring); }}Output Konsol:
Lihatlah berapa kali konstruktor ini disebut lihat berapa kali konstruktor ini disebut lihat berapa kali konstruktor ini disebut lihat berapa kali konstruktor ini disebut musim semi
Ringkasan: Dari sini, kita dapat melihat bahwa setiap nilai enum yang dinyatakan dalam kelas enum sebenarnya memanggil konstruktor dan membuat instance. Pemahaman sederhana adalah: setiap nilai enum adalah objek instan.
Tidak ada partisipasi dalam pertempuran yang sebenarnya
(1) Tentukan kelas enumerasi tanpa parameter
enum seasontype {musim semi, musim panas, musim gugur, musim dingin}(2) Gunakan dalam praktik
// Pilih penggunaan berikut sesuai dengan situasi aktual Seasontype springType = seasontype.spring; // output spring string springstring = seasontype.spring.toString (); // output pegas
Ada dua aspek praktis
(1) Tentukan kelas enumerasi dengan hanya satu parameter
enum seasontype {// lulus parameter melalui konstruktor dan buat instance musim semi ("musim semi"), musim panas ("musim panas"), musim gugur ("musim gugur"), musim dingin ("musim dingin"); // Tentukan parameter yang sesuai dengan msg string pribadi instance; // Diperlukan: Buat instance untuk nilai enum melalui konstruktor ini seasontype (string msg) {this.msg = msg; } // Metode ini bisa mendapatkan nilai parameter dari instance public string getMSG () {return msg; }}(2) Gunakan dalam praktik
// Ketika kami menetapkan nilai ke kelas instan, kami dapat menggunakan metode berikut string msg = seasontype.spring.getmsg (); // output pegas
Tiga langkah praktis
(1) Tentukan kelas enumerasi dengan dua parameter
Musim enum publik {// lulus parameter melalui konstruktor dan buat instance musim semi (1, "musim semi"), musim panas (2, "musim panas"), musim gugur (3, "musim gugur"), musim dingin (4, "musim dingin"); // Tentukan parameter yang sesuai dengan instance Private Integer Key; msg string pribadi; // Harus menulis: Buat instance nilai enum melalui musim konstruktor ini (kunci integer, string msg) {this.key = key; this.msg = msg; } // Dalam banyak kasus, nilai yang mungkin kita dapatkan dari ujung depan adalah kunci dari kelas enum, dan kemudian Anda bisa mendapatkan nilai enum yang sesuai dengan nilai musim statis public Ofkey (kunci integer) {untuk (musim musim: musim.values ()) {if (season.key.equals (kunci)) {musim kembali; }} melempar IllegalArgumentException baru ("No Element Matches" + Key); } // metode ini bisa mendapatkan nilai kunci dari instance public integer getKey () {kembali key; } // metode ini bisa mendapatkan nilai msg dari instance public string getMSG () {return msg; }}(2) Gunakan dalam praktik
// Kunci Ekspor ke 1 Musim Musim = Musim.
Ringkasan Kelas Pencacahan
Bahkan, setelah kelas enumerasi memahami konsepnya, enumerasi menjadi sangat sederhana. Anda dapat menulis kelas enumerasi sesuka hati. Jadi untuk contoh -contoh praktis di atas, Anda harus terlebih dahulu mencari tahu konsepnya, dan kemudian mempraktikkannya beberapa kali dan akan baik -baik saja. Saya akan menguraikan konsep penting di sini untuk membantu orang tua dengan cepat menguasai pengetahuan ini. Pertama -tama, ingatlah bahwa nilai enum di kelas enumerasi tidak dapat memiliki parameter atau beberapa parameter, dan setiap nilai enumerasi adalah instance; Dan poin penting lainnya adalah bahwa jika nilai enumerasi memiliki parameter N, maka harus ada nilai parameter N dalam konstruktor, karena setiap nilai enumerasi yang dinyatakan akan memanggil konstruktor untuk membuat instance, sehingga parameter harus satu-ke-satu. Karena kami memahami hal ini, kami hanya perlu mendefinisikan parameter N ini sebagai variabel anggota N di kelas enumerasi, dan kemudian menyediakan metode get () yang sesuai, dan kemudian Anda bisa mendapatkan nilai parameter apa pun dalam instance pada saat akan melalui instance. Jika Anda ingin membuat kelas enumerasi lebih berguna, Anda dapat meniru metode penulisan saya dalam Praktis 3. Melalui nilai parameter tertentu, seperti nilai parameter kunci, Anda bisa mendapatkan nilai enumerasi yang sesuai, dan kemudian mendapatkan nilai apa pun yang Anda inginkan.
Pencacahan API
Kelas -kelas enum yang kita definisikan dengan Enum semua mewarisi kelas java.lang.enum, dan kemudian mereka akan mewarisi API mereka. API yang umum digunakan adalah sebagai berikut:
Nama string ()
Dapatkan Nama Enum
int organik ()
Dapatkan posisi enum (subskrip, nilai awal adalah 0)
nilai (string msg)
Dapatkan jenis enumerasi yang sesuai melalui MSG. (Misalnya, kelas enumerasi atau kelas enumerasi lainnya dalam pertempuran praktis 2 dapat digunakan, selama mereka digunakan dengan benar, Anda dapat menggunakan metode ini)
nilai ()
Dapatkan semua nilai enum di kelas enumerasi (misalnya, itu digunakan dalam pertempuran aktual 3)
Meringkaskan
Di atas adalah semua konten dari artikel ini tentang pembagian kode aktual enumerasi pemrograman Java, saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!