gpt4 book ai didi

Java 8 lambda 泛型接口(interface)方法

转载 作者:搜寻专家 更新时间:2023-10-31 19:37:17 24 4
gpt4 key购买 nike

@FunctionalInterface
public interface GenericFunctionalInterface {
public <T> T genericMethod();
}

我有上面的@FunctionalInterface,它有一个通用方法。

如何使用和 Lambda 表达式来表示此接口(interface)?

我试过下面的代码,但它不起作用,

GenericFunctionalInterface gfi = () -> {return "sss";};

编译错误:非法 lambda 表达式:GenericFunctionalInterface 类型的方法 genericMethod 是通用的

我可以在哪里放置类型信息?

最佳答案

泛型(非遗传)类型参数应该在接口(interface)级别声明,而不是在方法级别:

public interface GenericFunctionalInterface<T> {
public T genericMethod();
}

GenericFunctionalInterface<String> gfi = () -> {return "sss";};

关于Java 8 lambda 泛型接口(interface)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38118150/

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