请使用lambda表达式完成
时间: 2023-07-06 12:34:48 浏览: 89
好的,使用lambda表达式来简化上面的代码:
```java
// Addable接口
public interface Addable {
int add(int a, int b);
}
// AddableDemo测试类
public class AddableDemo {
// useAddable方法
public static void useAddable(Addable a) {
int sum = a.add(3, 5);
System.out.println("使用Addable接口求和:" + sum);
}
// 主方法
public static void main(String[] args) {
// 使用lambda表达式实现Addable接口
useAddable((a, b) -> a + b);
}
}
```
我们使用lambda表达式来实现Addable接口,将原来的匿名内部类替换成了一行lambda表达式,使代码更加简洁。
相关问题
创建线程使用lambda表达式
在C++中,你可以使用lambda表达式和`std::thread`来创建线程。Lambda表达式提供了一种简洁的方式来定义匿名函数,这对于需要在新线程上执行的任务非常方便。以下是一个基本的例子:
```cpp
#include <iostream>
#include <thread>
// 使用lambda表达式创建线程
void workerFunction() {
std::cout << "Worker thread is running...\n";
// 在这里编写线程任务
}
int main() {
// 创建一个线程,将workerFunction作为目标函数
std::thread myThread(workerFunction);
// 等待线程完成(如果主线程在此暂停)
myThread.join();
std::cout << "Worker thread finished.\n";
return 0;
}
```
在这个例子中,`workerFunction`是一个lambda表达式,它会被传递给`std::thread`构造函数。线程启动后,`workerFunction`会在新的线程上运行。
如何使用Lambda表达式实现接口
Lambda表达式是一种简洁的方式,在Java 8及更高版本中用于代表匿名函数,它可以直接作为方法的参数传递,尤其是当需要传递简单的、单行的功能实现时。为了使用Lambda表达式实现接口,你需要做以下几步:
1. **创建接口**:首先,定义一个有具体方法的接口,例如`Runnable`(如果需要执行一段代码)或者自定义接口。
```java
interface MyInterface {
void doSomething();
}
```
2. **使用Lambda表达式**:当你有一个具体的操作想要通过Lambda表达式完成,并且这个操作恰好对应接口的一个方法时,可以这样做:
```java
// Lambda表达式实现doSomething()
MyInterface myLambda = () -> {
// 这里编写你的代码实现
System.out.println("Doing something with Lambda");
};
```
3. **调用接口方法**:你可以像使用普通对象一样调用Lambda表达式的接口方法:
```java
myLambda.doSomething(); // 输出 "Doing something with Lambda"
```
阅读全文