() { @Override -6ren">
gpt4 book ai didi

java - 如何在 Lambdas 中使用泛型参数

转载 作者:行者123 更新时间:2023-11-30 08:47:35 24 4
gpt4 key购买 nike

假设我们有以下没有 Lambda 的代码:

doSomething.consumer("someString", new Handler<Message<JsonObject>>() {
@Override
public void handle(Message<JsonObject> event) {
//do some code
}
});

我如何使用 Lambda 转换此代码并将 Lambda 的参数用作

 Handler<Message<JsonObject>>

这是消费者方法的样子:

<T> MessageConsumer<T> consumer(String address, Handler<Message<T>> handler);

最佳答案

你可以这样做来定义什么是T

doSomething.<JsonObject>consumer("someString", event -> { /* do some code */ });

或者定义event是什么类型

doSomething.consumer("someString", (Message<JsonObject> event) -> { /* do some code */ });

或定义您期望 Handler 的类型。

doSomething.consumer("someString", (Handler<Message<JsonObject>>) 
(event -> { /* do some code */ }));

关于java - 如何在 Lambdas 中使用泛型参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32381705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com