java-如何编写lambda的通用方法?

前端之家收集整理的这篇文章主要介绍了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;
原文链接:https://www.f2er.com/java/532795.html

猜你在找的Java相关文章