// Java Lambda 表达式示例
// 1. 使用Lambda表达式简化接口实现
// 假设我们有一个函数式接口(只有一个抽象方法的接口)
@FunctionalInterface
interface MyFunction {
void execute();
}
public class LambdaExample {
public static void main(String[] args) {
// 传统方式:使用匿名内部类实现接口
MyFunction myFunction = new MyFunction() {
@Override
public void execute() {
System.out.println("Hello, World!");
}
};
myFunction.execute(); // 输出: Hello, World!
// 使用Lambda表达式简化
MyFunction lambdaFunction = () -> System.out.println("Hello, Lambda!");
lambdaFunction.execute(); // 输出: Hello, Lambda!
}
}
// 2. 使用Lambda表达式进行排序
import java.util.Arrays;
import java.util.List;
import java.util.Collections;
public class LambdaSortExample {
public static void main(String[] args) {
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");
// 传统方式:使用匿名内部类实现Comparator
Collections.sort(names, new java.util.Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2);
}
});
System.out.println(names); // 输出: [Alice, Bob, Charlie, David]
// 使用Lambda表达式简化
Collections.sort(names, (String a, String b) -> a.compareTo(b));
System.out.println(names); // 输出: [Alice, Bob, Charlie, David]
}
}
MyFunction 是一个函数式接口,它只有一个抽象方法 execute()。我们可以使用 Lambda 表达式来简化其实现。() -> System.out.println("Hello, Lambda!"); 是一个 Lambda 表达式,它省去了匿名内部类的冗长写法,直接定义了方法体。LambdaSortExample 中,我们展示了如何使用 Lambda 表达式简化 Collections.sort 的实现。通过 (String a, String b) -> a.compareTo(b),我们避免了匿名内部类的复杂写法。希望这些例子能帮助你理解 Java Lambda 表达式的用法。
上一篇:java service
下一篇:java jsonobject
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站