java-如何编写lambda的通用方法?
这个问题已经在这里有了答案:            >             Lambda Expression and generic method                                    4个
我有以下界面:

public interface Mapper {
    public <T> T map(T element);
}

而当我做Mapper mapper =(int n)-> n * 2;
我明白了:

Illegal lambda expression: Method map of type Mapper is generic

我在这里想念什么?如何创建在lambda表达式中使用的通用方法?

最佳答案
您应该将定义更改为

public interface Mapper<T> { // type bound to the interface
    T map(T element);
}

然后将其用作:

Mapper<Integer> mapper = element -> element * 2; // notice Integer and not 'int' for the type

也可以写成:

Mapper<Integer> mapper = (Integer element) -> element * 2;
点击查看更多相关文章

转载注明原文:java-如何编写lambda的通用方法? - 乐贴网