Rumah >Java >javaTutorial >Taip Inferens dengan Pengendali Berlian
1. Pengenalan kepada Operator Berlian
2. Contoh Pengisytiharan Sebelum JDK 7
// Classe genérica com dois tipos class TwoGen<T, V> { T ob1; V ob2; TwoGen(T o1, V o2) { ob1 = o1; ob2 = o2; } } // Criação de uma instância antes do JDK 7 TwoGen<Integer, String> tgOb = new TwoGen<Integer, String>(42, "testing");
Kelemahan: Jenis generik perlu diulang dalam pengisytiharan dan penciptaan contoh.
. Menggunakan Operator Rhombus dalam JDK 7
// Criação de uma instância usando o operador losango TwoGen<Integer, String> tgOb = new TwoGen<>(42, "testing");
Pengendali <> meminta pengkompil untuk membuat kesimpulan jenis argumen berdasarkan perisytiharan pembolehubah (TwoGen).
4. Borang Am
Sintaks umum untuk mencipta contoh kelas generik:
nome-classe<lista-arg-tipo> nome-var = new nome-classe<>(lista-arg-cons);
Contoh:
TwoGen<Double, Boolean> example = new TwoGen<>(3.14, true);
5. Inferens dalam Kaedah
Inferens jenis juga berfungsi untuk kaedah yang mengambil kelas generik sebagai parameter.
Contoh:
// Adicionado à classe TwoGen boolean isSame(TwoGen<T, V> o) { return ob1 == o.ob1 && ob2 == o.ob2; } // Chamando o método usando o operador losango if (tgOb.isSame(new TwoGen<>(42, "testing"))) { System.out.println("Same"); }
Jenis parameter TwoGen<>(...) baharu disimpulkan secara automatik.
6. Faedah Pengendali Losango
Mengurangkan verbositi: Sangat berguna untuk kelas generik dengan banyak parameter jenis.
Kebolehbacaan: Memudahkan pernyataan kompleks.
7. Keserasian
Operator berlian tidak berfungsi dalam versi Java sebelum JDK 7.
Contoh dalam buku dan kod lama menggunakan sintaks penuh untuk mengekalkan keserasian dengan semua penyusun Java yang menyokong generik.
8. Amalan Baik
Gunakan operator berlian dalam projek dengan sokongan JDK 7 untuk mengoptimumkan dan menjadikan kod lebih mudah dibaca.
Lebih suka sintaks penuh dalam pembelajaran contoh atau projek warisan untuk kejelasan.
Atas ialah kandungan terperinci Taip Inferens dengan Pengendali Berlian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!