Antwort: Java-Generika ermöglichen die Anwendung von Funktionen auf mehrere Datentypen und verbessern so die Wiederverwendbarkeit von Code. Details: Generische Typen werden durch spitze Klammern dargestellt, z. B. 8742468051c85b06f0a0af9e3e506b5c, wobei T für einen Platzhaltertyp steht. Geben Sie die Typvariable an, wenn Sie eine generische Funktion erstellen, z. B. 8742468051c85b06f0a0af9e3e506b5c List8742468051c85b06f0a0af9e3e506b5c. Generische Funktionen können für verschiedene Arten von Listen verwendet werden, z. B. zum Filtern einer Liste mit Ganzzahlen nach Elementen größer als 2 oder zum Filtern einer Liste mit Zeichenfolgen nach Elementen, die mit „R“ beginnen. Zu den Vorteilen von Generika gehören die Wiederverwendung von Code, Flexibilität und Typsicherheit.
Java-Funktionsgenerika verbessern die Wiederverwendbarkeit von Code
Generika sind eine Funktion in Java, die es uns ermöglicht, beim Definieren von Funktionen oder Klassen Typplatzhalter zu verwenden. Dadurch können wir Methoden erstellen, die mit mehreren Datentypen arbeiten, und so die Wiederverwendbarkeit des Codes erhöhen.
Generika verstehen
Generische Typen werden durch spitze Klammern (a8093152e673feb7aba1828c43532094) dargestellt, zum Beispiel stellt Listf7e83be87db5cd2d9a8a0b8117b38cd4
eine Liste von String-Typen dar. Wir können Typvariablen verwenden, um generische Typen darzustellen, wie zum Beispiel 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()
Eine generische Funktion erstellen
Um eine generische Funktion zu erstellen, geben wir beim Definieren der Funktion die Typvariable an, zum Beispiel:rrreee
In diesem Beispiel verwendet die FunktionfilterList()
a Der generische Typ T
akzeptiert eine Liste und ein Prädikat (Predicate
). Es wird eine neue Liste zurückgegeben, die Listenelemente enthält, die die Prädikatbedingung erfüllen. filterList()
verwenden: rrreee Durch die Verwendung der generischen Funktion filterList()
können wir problemlos Filtervorgänge für verschiedene Datentypen durchführen, und zwar Nr Sie müssen doppelten Code schreiben. Das obige ist der detaillierte Inhalt vonWie verbessern Java-Funktionsgenerika die Wiederverwendbarkeit von Code?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!