前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >详细解释Lambda

详细解释Lambda

原创
作者头像
用户9347382
发布2022-03-03 17:32:11
4470
发布2022-03-03 17:32:11
举报
文章被收录于专栏:程序员阿杰程序员阿杰
代码语言:javascript
复制
@FunctionalInterface
public interface Consumer<T> {

    /**
     * Performs this operation on the given argument.
     *
     * @param t the input argument
     */
    void accept(T t);

Consumer一个函数式接口

怎么去使用呢

代码语言:javascript
复制
Consumer<String> con = ((str)->{
    System.out.println(str);
});

现在定义出来一个函数接口,Consumer<String> 所需要参数为String类型 又函数式中的str接受

怎么去调用函数体呢

代码语言:javascript
复制
con.accept("consumer");

通过默认的accept就可以进项调用

同理Function Supplier也是一样的

Supplier

代码语言:javascript
复制
@FunctionalInterface
public interface Supplier<T> {

    /**
     * Gets a result.
     *
     * @return a result
     */
    T get();
}
代码语言:javascript
复制
Supplier<String> sup = (()->{
    return "1";
});
代码语言:javascript
复制
System.out.println(sup.get());

Function

代码语言:javascript
复制
@FunctionalInterface
public interface Function<T, R> {

    /**
     * Applies this function to the given argument.
     *
     * @param t the function argument
     * @return the function result
     */
    R apply(T t);
代码语言:javascript
复制
Function<String, Integer> fun = ((str)->{
    return Integer.valueOf(str);
});
代码语言:javascript
复制
System.out.println(fun.apply("我是function"));

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档