Amalan terbaik kaedah generik Java termasuk: menyediakan parameter jenis eksplisit, memilih kad bebas jenis, menggunakan jenis primitif dengan berhati-hati, memilih kad bebas sempadan dan mengehadkan sempadan jenis kepada syarat yang diperlukan. Kes praktikal: Kaedah penapis ialah aplikasi praktikal kaedah generik, digunakan untuk menapis nombor genap.
Amalan Terbaik untuk Kaedah Generik Java
Kaedah generik boleh meningkatkan kebolehgunaan semula kod dan kesederhanaan kod. Kaedah generik dalam Java harus mematuhi amalan terbaik berikut:
1 Sediakan parameter jenis eksplisit
Kaedah generik harus menyatakan dengan jelas parameter jenisnya:
public static <T> List<T> filter(List<T> list, Predicate<T> predicate) { // ... }
2. menggunakan kad bebas jenis dan bukannya parameter jenis eksplisit boleh meningkatkan fleksibiliti kod anda:
public static <T> boolean anyMatch(List<? extends T> list, Predicate<T> predicate) { // ... }
3 Hadkan had jenis kepada syarat yang diperlukan
Had jenis untuk kaedah generik hendaklah dihadkan kepada yang benar-benar diperlukan Syarat:
// 仅当需要对 T 实现 Comparable 接口时才使用此边界 public static <T extends Comparable<T>> T max(List<T> list) { // ... }.
4. Gunakan jenis primitif dengan berhati-hati
Elakkan menggunakan jenis primitif (seperti
// 使用泛型方法参数更安全 public static <T> List<T> concat(List<T> list1, List<T> list2) { // ... }
5 List
),因为它们会破坏类型安全性:
public static <T> void swap(List<T> list, int i, int j) { T temp = list.get(i); list.set(i, list.get(j)); list.set(j, temp); }
5. 优先使用边界通配符
边界通配符 (6b3d0130bba23ae47fe2b8e8cddf0195
Kad bebas sempadan (public class FilterExample {
public static void main(String[] args) {
List<Integer> numbers = List.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// 过滤出偶数
List<Integer> evenNumbers = filter(numbers, n -> n % 2 == 0);
System.out.println(evenNumbers); // [2, 4, 6, 8, 10]
}
private static <T> List<T> filter(List<T> list, Predicate<T> predicate) {
List<T> filteredList = new ArrayList<>();
for (T item : list) {
if (predicate.test(item)) {
filteredList.add(item);
}
}
return filteredList;
}
}
Atas ialah kandungan terperinci Apakah amalan terbaik untuk kaedah generik di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!