Rumah > Java > javaTutorial > Taip Inferens dengan Pengendali Berlian

Taip Inferens dengan Pengendali Berlian

Susan Sarandon
Lepaskan: 2024-12-31 13:11:14
asal
208 orang telah melayarinya

Inferência de Tipos com o Operador Losango

1. Pengenalan kepada Operator Berlian

  • Diperkenalkan dalam JDK 7 untuk mengurangkan keterkataan apabila mencipta contoh kelas generik.
  • Membenarkan pengkompil membuat kesimpulan jenis generik daripada konteks, menghapuskan keperluan untuk mengulangi hujah jenis.

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");

Salin selepas log masuk

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");

Salin selepas log masuk

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);

Salin selepas log masuk

Contoh:

TwoGen<Double, Boolean> example = new TwoGen<>(3.14, true);
Salin selepas log masuk

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");
}

Salin selepas log masuk

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!

sumber:dev.to
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan