Rumah >Java >javaTutorial >Bagaimanakah generik fungsi Java meningkatkan kebolehgunaan semula kod?
Jawapan: Generik Java membolehkan fungsi digunakan pada berbilang jenis data, meningkatkan kebolehgunaan semula kod. Butiran: Jenis generik diwakili oleh kurungan sudut, seperti 8742468051c85b06f0a0af9e3e506b5c, dengan T mewakili jenis pemegang tempat. Tentukan pembolehubah jenis apabila mencipta fungsi generik, seperti 8742468051c85b06f0a0af9e3e506b5c Senarai penapis8742468051c85b06f0a0af9e3e506b5c(Senarai8742468051c85b06f0a0af9e3e506b5c, Predikat8742468051c85b06f0a0af9e3e506b5c). Fungsi generik boleh digunakan untuk jenis senarai yang berbeza, seperti menapis senarai integer untuk elemen yang lebih besar daripada 2 atau menapis senarai rentetan untuk elemen bermula dengan "R". Kelebihan generik termasuk penggunaan semula kod, fleksibiliti dan keselamatan jenis.
Generik fungsi Java meningkatkan kebolehgunaan semula kod
Generik ialah ciri dalam Java yang membolehkan kami menggunakan ruang letak jenis semasa mentakrifkan fungsi atau kelas. Ini membolehkan kami mencipta kaedah yang berfungsi pada berbilang jenis data, dengan itu meningkatkan kebolehgunaan semula kod.
Memahami generik
Jenis generik diwakili oleh kurungan sudut (a8093152e673feb7aba1828c43532094), contohnya, Listf7e83be87db5cd2d9a8a0b8117b38cd4
mewakili senarai jenis rentetan. Kita boleh menggunakan pembolehubah jenis untuk mewakili jenis generik, seperti T
. Listf7e83be87db5cd2d9a8a0b8117b38cd4
表示一个字符串类型的列表。我们可以使用类型变量来表示泛型类型,例如 T
。
创建泛型函数
要创建泛型函数,我们在定义函数时指定类型变量,例如:
public static <T> List<T> filterList(List<T> list, Predicate<T> predicate) { List<T> filteredList = new ArrayList<>(); for (T item : list) { if (predicate.test(item)) { filteredList.add(item); } } return filteredList; }
在这个示例中,filterList()
函数使用泛型类型 T
接受一个列表和一个谓词(Predicate
)。它返回一个包含满足谓词条件的列表项的新列表。
实战案例
考虑一个需要从不同类型列表中提取满足特定条件的元素的场景。我们可以使用泛型函数 filterList()
:
// 一个整数列表 List<Integer> numbers = List.of(1, 2, 3, 4, 5); // 筛选出大于 2 的整数 Predicate<Integer> predicate = i -> i > 2; List<Integer> filteredNumbers = filterList(numbers, predicate); // 一个字符串列表 List<String> colors = List.of("Red", "Green", "Blue", "Yellow"); // 筛选出以 "R" 开头的颜色 predicate = s -> s.startsWith("R"); List<String> filteredColors = filterList(colors, predicate);
通过使用泛型函数 filterList()
Buat fungsi generik
Untuk mencipta fungsi generik, kami menentukan pembolehubah jenis semasa mentakrifkan fungsi, contohnya:rrreee
Dalam contoh ini, fungsifilterList()
menggunakan jenis generik T
menerima senarai dan predikat (Predicate
). Ia mengembalikan senarai baharu yang mengandungi item senarai yang memenuhi syarat predikat. filterList()
: rrreeeDengan menggunakan fungsi generik filterList()
, kita boleh dengan mudah melakukan operasi penapisan pada jenis data yang berbeza dan Tidak perlu menulis kod pendua. Atas ialah kandungan terperinci Bagaimanakah generik fungsi Java meningkatkan kebolehgunaan semula kod?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!