1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-20 22:17:09 +08:00

Update Lambda表达式.md

This commit is contained in:
haiqiang 2019-03-10 22:45:36 +08:00 committed by GitHub
parent cfbc8c45cf
commit 2fa0457b87
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -15,13 +15,13 @@ JDK8--Lambda表达式
**函数式接口指的是有且只有一个抽象(abstract)方法的接口**<br> **函数式接口指的是有且只有一个抽象(abstract)方法的接口**<br>
当需要一个函数式接口的对象时就可以用Lambda表达式来实现举个常用的例子: 当需要一个函数式接口的对象时就可以用Lambda表达式来实现举个常用的例子:
<br> <br>
``` ```java
Thread thread = new Thread(() -> { Thread thread = new Thread(() -> {
System.out.println("This is JDK8's Lambda!"); System.out.println("This is JDK8's Lambda!");
}); });
``` ```
这段代码和函数式接口有啥关系我们回忆一下Thread类的构造函数里是不是有一个以Runnable接口为参数的 这段代码和函数式接口有啥关系我们回忆一下Thread类的构造函数里是不是有一个以Runnable接口为参数的
``` ```java
public Thread(Runnable target) {...} public Thread(Runnable target) {...}
/** /**
@ -33,7 +33,7 @@ public interface Runnable {
} }
``` ```
到这里大家可能已经明白了,**Lambda表达式相当于一个匿名类或者说是一个匿名方法**。上面Thread的例子相当于 到这里大家可能已经明白了,**Lambda表达式相当于一个匿名类或者说是一个匿名方法**。上面Thread的例子相当于
``` ```java
Thread thread = new Thread(new Runnable() { Thread thread = new Thread(new Runnable() {
@Override @Override
public void run() { public void run() {