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

详细解释Lambda

原创
作者头像
用户9347382
发布于 2022-03-03 09:32:11
发布于 2022-03-03 09:32:11
48600
代码可运行
举报
文章被收录于专栏:程序员阿杰程序员阿杰
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@FunctionalInterface
public interface Consumer<T> {

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

Consumer一个函数式接口

怎么去使用呢

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Consumer<String> con = ((str)->{
    System.out.println(str);
});

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

怎么去调用函数体呢

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
con.accept("consumer");

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

同理Function Supplier也是一样的

Supplier

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@FunctionalInterface
public interface Supplier<T> {

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

Function

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@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
代码运行次数:0
运行
AI代码解释
复制
Function<String, Integer> fun = ((str)->{
    return Integer.valueOf(str);
});
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
System.out.println(fun.apply("我是function"));

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java8中的函数式接口详解(Supplier、Consumer、Predicate、Function)
函数式接口:有且只有一个抽象方法的接口,称之为函数式接口 @FunctionalInterface注解作用:可以检测接口是否是一个函数式接口 是:编译成功 否:编译失败(接口中没有抽象方法或者抽象方法的个数多于1个)
共饮一杯无
2022/11/28
3980
java8新特性(一):Lambda表达式
Lambda 是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。
周三不加班
2019/09/03
4110
java8新特性(一):Lambda表达式
隔壁老王都熟练使用函数式接口了,你还在等什么?(快来收藏)
  最近刚好有空给大家整理下JDK8的特性,这个在实际开发中的作用也是越来越重了,本文重点讲解下函数式接口内容。
用户4919348
2021/06/10
2760
java基础面试题
堆中存放的是对象或者数组或者方法,每次创建一个对象或者数组就会在堆开辟一块位置存放,而这个位置会有一个路径,这个指向的路径存在在栈中 栈中存放的是实例对象或者方法的引用名称
java攻城狮
2020/10/10
4780
【Java8新特性】04 详解Lambda表达式中Predicate Function Consumer Supplier函数式接口
函数式接口的抽象方法的签名称为函数描述符,通过函数描述符可以很好得到Lambda表达式的签名。
爱笑的架构师
2020/09/24
1.5K0
Java8-Lambda表达式-函数式接口
1. Java内置的四大核心函数式接口 Consumer<T> 消费型接口 消费对象 void accept(T t); Supplier<T> 供给型接口 生成对象 T get(); Function<R,T> 函数型接口 指定特定功能 R apply(T t); Predicate<T> 断言型接口 进行条件判断 boolean test(T t); 1.1. 消费型接口 void accept(T t); Consumer 消费型接口 // Consumer<T> 消费型接口 @Te
Erwin
2020/06/02
6680
【Java_22】JDK 新特性
JDK 1.8 新特新 一、函数式接口 1. 函数式接口 ① 概念 * 有且仅有一个抽象方法的接口 ② 格式 @FunctionalInterface //使用该注解可以判断该接口是否是函数式接口。 public class 类名 { public abstract 返回值 方法名(参数列表); } 2. 函数式编程 ① Lambda 延迟 * Lambda 不使用不执行 ② 示例 //定义函数式接口 @Functiona
用户8250147
2021/02/04
4160
玩转Java8的 Stream 之函数式接口
函数式接口是伴随着Stream的诞生而出现的,Java8Stream 作为函数式编程的一种具体实现,开发者无需关注怎么做,只需知道要做什么,各种操作符配合简洁明了的函数式接口给开发者带来了简单快速处理数据的体验。
搜云库技术团队
2020/06/04
4280
JDK1.8新特性之Lambda表达式
Java8中引入了一个新的操作符“ -> ”,该操作符被称为箭头操作符或Lambda操作符,箭头操作符将Lambda表达式拆分成两部分:
程序员波特
2024/01/19
1750
Java成神路 —— 函数式接口
@FunctionalInterface 放在接口定义的上方:如果接口是函数式接口,编译通过;如果不是,编译失败
繁依Fanyi
2023/05/07
1920
函数式接口
所谓的函数式接口,实际上就是接口里面只能有一个抽象方法的接口。Comparator接口就是一个典型的函数式接口,它只有一个抽象方法compare。
HLee
2021/08/15
7450
函数式接口
携程四面:说说Lambda表达式的演化过程!
能够使用Lambda的依据是必须有相应的函数接口(函数接口,是指内部只有一个抽象方法的接口)。 这一点跟Java是强类型语言吻合,也就是说你并不能在代码的任何地方任性的写Lambda表达式。实际上Lambda的类型就是对应函数接口的类型。Lambda表达式另一个依据是类型推断机制(重点),在上下文信息足够的情况下,编译器可以推断出参数表的类型,而不需要显式指名。
Java程序猿
2021/06/12
3640
Java从入门到精通十六(函数式接口编程)
在使用函数式接口的时候,非常适用的是我们可以用lambda去创建接口的对象。很方便判断一个接口是不是一个函数式接口的办法就是在接口上方添加注解@FunctionalInterface进行检测。
兰舟千帆
2022/07/16
3480
Java从入门到精通十六(函数式接口编程)
二十、Java8新特性——函数式接口【黑马JavaSE笔记】
Java8在java.util.function包下预定义了大量的函数式接口供我们使用
啵啵鱼
2022/11/23
3250
二十、Java8新特性——函数式接口【黑马JavaSE笔记】
Java8新特性----Lambda表达式详细探讨
​ Lambda是一个匿名函数,可以理解为一段可以传递的代码(将代码像数据一样传递);可以写出更简洁、更灵活的代码;作为一种更紧凑的代码风格,是Java语言表达能力得到提升
大忽悠爱学习
2021/11/15
2940
java函数式接口
这个接口可以使用@FunctionalInterface声明,如果不满足条件,则会报错,可以通过这个方式来判断是否为函数式接口
仙士可
2023/03/09
4250
java函数式接口
Java函数式编程之Java8四大函数接口
在Java8中,内置了四个核心函数接口,它们存在是Lamda表达式出现的前提,Lamda表达式想重写函数式接口中的唯一方法。 函数式接口与Lambda表达式之间的关系:lambda表达式相当于是一个行为,传入函数式接口中,进来实现各种操作,即行为参数化 它们的接口内只有一个抽象方法,每一个函数式接口都有@FunctionalInterface注解。
全栈程序员站长
2022/07/31
5640
Java函数式编程之Java8四大函数接口
函数式接口
Java中的函数式编程体现就是Lambda表达式,所以函数式接口就是用于Lambda使用的接口
秋落雨微凉
2022/10/25
3160
深度剖析JAVA 函数式接口
函数式接口,即适用于函数式编程场景的接口。而Java中的函数式编程体现就是Lambda,所以函数式接口就是可以适用于Lambda使用的接口。只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能顺利地进行推导。可以有多个非抽象方法。 为了避免别人在这个接口中增加接口函数导致其有多个接口函数需要被实现,变成"非函数接口”,可以在接口上加上一个注解@FunctionalInterface, 这样别人就无法在里面添加新的接口函数了。
张哥编程
2024/12/13
770
JDK1.8新特性(四):函数式接口
上一篇JDK1.8新特性(三):Lambda表达式,让你爱不释手,只是简单的讲到Lambda表达式的语法、使用,使得你对它产生了好感,而Lambda表达式是如何实现、定义,你可能不太清楚。本篇将会详细介绍函数式接口,让你在使用JDK新特性时,做到心中有数,自信满满。
xcbeyond
2020/05/31
1.1K0
JDK1.8新特性(四):函数式接口
相关推荐
Java8中的函数式接口详解(Supplier、Consumer、Predicate、Function)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档