Kun*_*Lun 8 java lambda functional-interface
我有以下代码:
new Thread(() -> {
//do things
}).start();
new Thread(() -> {
//do same things
}).start();
Run Code Online (Sandbox Code Playgroud)
我知道我可以声明一个包含lambda的函数:
Function<Integer, Integer> add = x -> x + 1;
Run Code Online (Sandbox Code Playgroud)
我想使此函数保留Runnablefrom的实现new Thread。
但我不知道该怎么放之间<>的Function。
java.util.FunctionRunnable之所以不能代表任务,是因为Function接受了一个参数并返回了某些内容,相反,Runnable.runmethod则没有了任何参数并且不返回任何内容。即使您觉得Runnable本质上与相似Function<Void, Void>,即使由于相同的原因,该假设也是错误的。
鉴于这Runnable是一个抽象方法接口(它只有run方法),因此您只能使用lambda表达式来实现它。还要注意,对于正统的匿名内部类而言,此lambda只是一种更简洁的语法糖。这是它的外观。
Runnable task = () -> System.out.println("My task");
Run Code Online (Sandbox Code Playgroud)
您可以将此Runnable实例用作程序中的普通Runnable命令。这是一个示例用法。
Thread t = new Thread(task);
t.start();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
98 次 |
| 最近记录: |