我的理解是 Lambda 的表达式用于替换围绕抽象实现的锅炉板代码。因此,如果我必须创建一个采用 Runnable 接口(Functional)的新线程,我不必创建一个新的匿名类,然后提供 void run() 然后在其中编写我的逻辑,而可以简单地使用 lambda 并指向如果方法签名与 run 相同,即不接受任何内容,不返回任何内容,则将其传递给一个方法。
但是我无法理解下面的实现
Thread t= new Thread(()->printStudent(stud));
public static void printStudent(Student stud) {
System.out.println("Student is "+ stud);
}
在上述情况下,printStudent 接受一个参数(不像 runnable 的 run() 方法),尽管它以某种方式工作。
这是如何工作的?
绝地无双
白衣非少年
相关分类