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.
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!