Lambda 表達(dá)式在泛型編程中有許多應(yīng)用,特別是在處理集合、流操作和回調(diào)函數(shù)時(shí)。以下是一些常見(jiàn)的應(yīng)用場(chǎng)景:
public class TaskRunner<T> {
public void runTask(T task, Runnable callback) {
// 執(zhí)行任務(wù)
System.out.println("Running task: " + task);
// 執(zhí)行回調(diào)
callback.run();
}
}
TaskRunner<String> runner = new TaskRunner<>();
runner.runTask("Example Task", () -> System.out.println("Task completed!"));
// 輸出:
// Running task: Example Task
// Task completed!
- 集合操作: 使用泛型集合時(shí),lambda 表達(dá)式可以簡(jiǎn)化代碼。
- 自定義排序: 使用泛型集合時(shí),可以通過(guò) lambda 表達(dá)式定義自定義排序邏輯。
例如
List<Integer> numbers = Arrays.asList(5, 3, 8, 1);
numbers.sort((a, b) -> a - b);
System.out.println(numbers); // 輸出: [1, 3, 5, 8]
3. 回調(diào)函數(shù): 在泛型編程中,lambda 表達(dá)式可以作為回調(diào)函數(shù)傳遞。
例如,使用 Runnable 接口:
public class TaskRunner<T> {
public void runTask(T task, Runnable callback) {
// 執(zhí)行任務(wù)
System.out.println("Running task: " + task);
// 執(zhí)行回調(diào)
callback.run();
}
}
TaskRunner<String> runner = new TaskRunner<>();
runner.runTask("Example Task", () -> System.out.println("Task completed!"));
// 輸出:
// Running task: Example Task
// Task completed!
4. 泛型方法: 在泛型方法中使用 lambda 表達(dá)式。例如,定義一個(gè)泛型方法來(lái)處理不同類(lèi)型的集合:
public class Processor {
public static <T> void process(List<T> items, Consumer<T> action) {
for (T item : items) {
action.accept(item);
}
}
}
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
Processor.process(names, name -> System.out.println("Hello, " + name));
// 輸出:
// Hello, Alice
// Hello, Bob
// Hello, Charlie