体验Lambda的更优写法和Lambda标准格式
体验Lambda的更优写法
借助Java8的全新语法,上述Runnable接口的匿名内部类写法可以通过更简单的Lambda表达式达到等效:
public class Lambda02 {
public static void main(String[] args) {
new Thread(() -> System.out.println(Thread.currentThread().getName()+"线程创建了")).start();
}
}
这段代码和刚才的执行效果是完全一样的,可以在1.8或者更高的编译级别下通过。从代码的予以中我们可以看到我们启动了一个线程,而线程任务的内容以一种更加简洁的形式被指定
不再有不得不创建接口对象的束缚,不再有抽象方法覆盖重写的负担,就是这么简单。
匿名内部类的好处和弊端
一方面,匿名内部类可以帮我们省区实现类的定义;另一方面,匿名内部类的语法--确实很复杂
同样的语句体现在lambda语法中要更加简单
()-> System.out.println("多线程任务执行")
前面的一堆小括号即run方法的参数(无),代表不需要任何条件
中间的一个箭头代表将前面的参数传递给后面的代码
后面的输出语句即业务逻辑代码
Lambda省去面向对象的条条框框,格式由三个部分组成
一些参数
一个箭头
一段代码
标准格式为:(参数类型 参数名称)-> {代码语句}
格式说明:
小括号内的语法与传统方法参数列表一直:无参数则留空;多个参数则用逗号分割
->是新引入的语法格式代表指向动作
大括号内的语法与传统方法体要求基本一直