// Java Lambda表达式示例
// 传统方式:使用匿名内部类实现接口
interface MyFunctionalInterface {
void doSomething();
}
public class LambdaExample {
public static void main(String[] args) {
// 使用匿名内部类实现接口
MyFunctionalInterface myFunctionalInterface = new MyFunctionalInterface() {
@Override
public void doSomething() {
System.out.println("Doing something using anonymous inner class.");
}
};
myFunctionalInterface.doSomething();
// 使用Lambda表达式实现接口
MyFunctionalInterface myLambdaInterface = () -> System.out.println("Doing something using lambda expression.");
myLambdaInterface.doSomething();
}
}
接口定义:MyFunctionalInterface
是一个函数式接口,它只包含一个抽象方法 doSomething()
。Java 中的函数式接口可以通过 @FunctionalInterface
注解来标记(虽然这里没有显式标注)。
传统方式:通过匿名内部类实现 MyFunctionalInterface
接口,并重写 doSomething()
方法。
Lambda表达式:Lambda 表达式提供了一种更简洁的方式来实现单个抽象方法的接口。语法为 (参数列表) -> { 方法体 }
。在上面的例子中,我们用 Lambda 表达式替换了匿名内部类,代码更加简洁明了。
执行结果:两种方式都会输出相同的文本,但 Lambda 表达式的代码更加简洁易读。
上一篇:java string转date
下一篇:scanner在java中的用法
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站