Java 8的一个大亮点是引入Lambda表达式,使用它设计的代码会更加简洁。当开发者在编写Lambda表达式时,也会随之被编译成一个函数式接口(只包含一个抽象方法的接口 )。 请观察如下代码,并使用Lambda表达式改写,实现相同的效果。 // 使用匿名内部类的方式实现多线程 Runnable runnable1 = new Runnable() { public void run() { System.out.println("do something..."); } } [思路分析] 需要将此块匿名内部类的内容改写成lambda表达式 1.观察run方法没有参数那么方法声明只需要一个括号即可 2.观察run方法没有返回值且方法体中只有一句话,应该怎么写呢?
时间: 2024-04-08 11:32:01 浏览: 79
可以使用Lambda表达式来简化匿名内部类的实现。根据给出的代码,可以将其改写为:
Runnable runnable1 = () -> System.out.println("do something...");
这样就将原来的匿名内部类转换成了一个Lambda表达式,实现了相同的效果。Lambda表达式的语法是通过箭头符号"->"来分隔参数和函数体,参数可以省略括号,函数体只有一行代码时,可以省略花括号。在这个例子中,run方法没有参数,所以使用一个空的括号表示;函数体只有一行代码,所以直接写在箭头后面。
阅读全文