Jdk1.5 memperkenalkan jenis baru - enumerasi. Meskipun dianggap sebagai fungsi "kecil" di Java, itu membawa kenyamanan "besar" bagi perkembangan saya.
Penggunaan 1: Konstan
Sebelum JDK1.5, kami mendefinisikan konstanta: fianl statis publik ...... Sekarang dengan enum, Anda dapat mengelompokkan konstanta yang relevan ke dalam jenis enum, dan enum memberikan lebih banyak metode daripada konstanta.
Warna enum publik {merah, hijau, kosong, kuning}Penggunaan 2: Switch
Pernyataan sakelar sebelum JDK1.6 hanya mendukung tipe int, char, dan enum. Penggunaan enum dapat membuat kode kami lebih mudah dibaca.
enum sinyal {hijau, kuning, merah} kelas lalu lintas kelas publik {sinyal warna = sinyal; public void change () {switch (color) {case red: color = SignalGreen; merusak; case yellow: color = Signalred; merusak; Case Green: Color = Signalyellow; merusak; }}}Penggunaan 3: Tambahkan metode baru ke enum
Jika Anda berencana untuk menyesuaikan metode Anda sendiri, Anda harus menambahkan titik koma di akhir urutan instance enum. Dan Java mensyaratkan bahwa instance enum harus didefinisikan terlebih dahulu.
Publik enum warna {merah ("merah", 1), hijau ("hijau", 2), kosong ("putih", 3), yello ("kuning", 4); // variabel anggota nama string pribadi; indeks int pribadi; // Metode Konstruk Private Color (nama string, indeks int) {thisName = name; iniIndex = index; } // Metode normal public static string getName (int index) {for (color c: colorValues ()) {if (cgetIndex () == index) {return cname; }} return null; } // Dapatkan set METODE PUBLIK PUBLIK GetName () {return name; } public void setName (name string) {thisName = name; } public int getIndex () {return index; } public void setIndex (int index) {thisIndex = index; }}Penggunaan 4: Metode untuk menimpa enumerasi
Berikut adalah contoh override metode tostring ().
Publik enum warna {merah ("merah", 1), hijau ("hijau", 2), kosong ("putih", 3), yello ("kuning", 4); // variabel anggota nama string pribadi; indeks int pribadi; // Metode Konstruk Private Color (nama string, indeks int) {thisName = name; iniIndex = index; } // Metode Timpa @Override Public String ToString () {return thisIndex+"_"+nama ini; }}Penggunaan 5: Menerapkan antarmuka
Semua enum diwarisi dari kelas java.lang.enum. Karena Java tidak mendukung banyak warisan, objek enum tidak dapat mewarisi kelas lain.
perilaku antarmuka publik {void print (); String getInfo (); } public enum warna mengimplementasikan perilaku {merah ("merah", 1), hijau ("hijau", 2), kosong ("putih", 3), yello ("kuning", 4); // variabel anggota nama string pribadi; indeks int pribadi; // Metode Konstruk Private Color (nama string, indeks int) {thisName = name; iniIndex = index; } // Metode antarmuka @Override Public String getInfo () {return ini nama ini; } // Metode antarmuka @Override public void print () {SystemoutPrintln (thisIndex+":"+ini nama ini); }}Penggunaan 6: Gunakan antarmuka untuk mengatur enumerasi
Public Interface Food {enum Coffee mengimplementasikan makanan {black_coffee, decaf_coffee, latte, cappuccino} enum hidangan penutup mengimplementasikan makanan {buah, kue, gelato}}Penggunaan 7: Tentang Penggunaan Koleksi Pencacahan
java.util.enumset dan java.util.enummap adalah dua koleksi enum. Enumset memastikan bahwa elemen dalam koleksi tidak diulang; Kunci dalam enummap adalah tipe enum, dan nilai dapat berupa jenis apa pun. Saya tidak akan menguraikan penggunaan dua set ini di sini, Anda dapat merujuk pada dokumentasi JDK.
Untuk detail implementasi dan prinsip enumerasi, silakan merujuk ke:
Referensi: "ThinkingInjava" Edisi Keempat //www.vevb.com/books/75540.html
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.