Rumah  >  Artikel  >  Java  >  Bagaimanakah kaedah generik menyelesaikan masalah pemadaman jenis?

Bagaimanakah kaedah generik menyelesaikan masalah pemadaman jenis?

王林
王林asal
2024-05-01 18:27:01499semak imbas

Kaedah generik menghapuskan pemadaman jenis dengan membenamkan maklumat jenis ke dalam tandatangan kaedah, membenarkan penciptaan kaedah polimorfik yang sesuai untuk situasi jenis tertentu: tentukan kaedah generik menggunakan parameter jenis. Gunakan parameter jenis dalam kaedah sama seperti jenis sebenar. Sebagai contoh, kaedah max() mengembalikan objek terbesar dalam senarai objek setanding. Kaedah getHighestPaidEmployee() mengembalikan pekerja dengan gaji tertinggi daripada senarai pekerja.

Bagaimanakah kaedah generik menyelesaikan masalah pemadaman jenis?

Kaedah Generik Menghapuskan Pemadaman Jenis: Panduan Pengekodan

Pengenalan

Di Java, pemadaman jenis menyebabkan maklumat jenis generik hilang pada masa penyusunan. Kaedah generik menyelesaikan masalah ini, membenarkan tingkah laku polimorfik berfungsi dalam konteks khusus jenis.

Kaedah generik

Kaedah generik menggunakan parameter jenis untuk menentukan jenis biasa dalam pengisytiharan kaedah. Parameter ini boleh digunakan dalam kaedah sama seperti jenis sebenar.

Sebagai contoh, kaedah berikut menerima senarai objek setanding dan mengembalikan objek terbesar:

public static <T extends Comparable<T>> T max(List<T> list) {
  T max = list.get(0);
  for (T item : list) {
    if (item.compareTo(max) > 0) {
      max = item;
    }
  }
  return max;
}

Kes Praktikal

Pertimbangkan kes senarai pekerja dengan unsur-unsur jenis yang berbeza. Kami memerlukan cara untuk mendapatkan pekerja bergaji tertinggi:

public static <T extends Employee> T getHighestPaidEmployee(List<T> employees) {
  T highestPaid = employees.get(0);
  for (T employee : employees) {
    if (employee.getSalary() > highestPaid.getSalary()) {
      highestPaid = employee;
    }
  }
  return highestPaid;
}

Kesimpulan

Kaedah generik menghapuskan pemadaman jenis dengan membenamkan maklumat jenis ke dalam tandatangan kaedah. Ini membolehkan kami mencipta kaedah polimorfik yang berfungsi dalam jenis situasi tertentu tanpa perlu menulis pelaksanaan konkrit pada setiap kejadian.

Atas ialah kandungan terperinci Bagaimanakah kaedah generik menyelesaikan masalah pemadaman jenis?. 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