加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 19:24:51 所属栏目:Java 来源:网络整理
导读:这个问题已经在这里有了答案:????????????????????????Lambda Expression and generic method????????????????????????????????????4个 我有以下界面: public interface Mapper { public T T map(T element);} 而当我做Mapper mapper =(int n)- n * 2; 我

这个问题已经在这里有了答案:????????????>????????????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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读