工具技巧和读文档 | 读函数式编程接口文档 | 匿名内部类 | lambda表达式 |IDEA
Function接口,函数式接口
按入参返回值分类,大概分为4种类型,再加上多个入参就又多了Bi开头的两种。
有Ctrl+P的时候不懂参数列表该写啥,就先Ctrl+ALT看下入参类型的相关实现类!
一些实用的快捷键:Ctrl + P看参数列表,Ctrl + Q 看接口文档
一些单词:匿名的 anonymous; 二进制的:binary
书籍推荐:java8函数式编程
文章目录
- 你是否很好奇函数式编程的传参到底要怎么传,接收返回值到底要用什么类型接收???
- Stream流最常见的应用场景
- java函数式接口印象
- 看到一个陌生的参数列表要怎么传参
- 匿名内部类和Lambda表达式的转化
- Function接口的入参和返回值
- demo
- 其他有意义的问题
你是否很好奇函数式编程的传参到底要怎么传,接收返回值到底要用什么类型接收???
Stream流最常见的应用场景
java函数式接口印象
- 消费型 Consumer (有入参,无返回值)
- 提供者型 Supplier (无入参,有返回值)
- 常见型 Function(有入参,有返回值)
上述类型的入参都是单个入参的。像BiConsumer, BiFunction这种的入参是多个入参
Bi 可以 理解为 binary,二进制的,两个的
看到一个陌生的参数列表要怎么传参
查看入参的实现类
(当时Ctrl+P查看接口的参数列表时,看到BinaryOperator是入参实在不知道要传啥参数。后来查Ctrl+alt看了BinaryOperator的实现类,才发现它可以传BIgDecimal::sum这种。其实在reduce方法处按下Ctrl+Q是可以查看jdk的接口文档的,里面有详细的使用案例)
匿名内部类和Lambda表达式的转化
利用IDE实现转换:
鼠标停在->附近按下alt+enter可以看到idea的提示,可以快捷地实现lambda表达式到匿名内部类写法的互转
Function接口的入参和返回值
demo
// Lambda表达式写法1
Stream<String> stringStream = list.stream().map(CallaboratorParamsInfo::getMerchantCode);// Lambda表达式写法2
Stream<String> stringStream = list.stream().map(callaboratorParamsInfo -> callaboratorParamsInfo.getMerchantCode());// 匿名内部类写法
Stream<String> stringStream = list.stream().map(new Function<CallaboratorParamsInfo, String>() {@Overridepublic String apply(CallaboratorParamsInfo callaboratorParamsInfo) {return callaboratorParamsInfo.getMerchantCode();}});
其他有意义的问题
- default方法
- 如何自定义一个函数式接口
- stream的并行流使用
工具技巧和读文档 | 读函数式编程接口文档 | 匿名内部类 | lambda表达式 |IDEA相关推荐
- 项目中使用 java函数式编程_函数式编程在Java8中使用Lambda表达式进行开发
事情起因 如果不喜欢看故事的同学,请前往下一章节. 事情起因是我打算集成Redis缓存,配置了Redis以后,发现@Cacheable注解始终不生效,折腾了大半天以后,我的心态已经崩了,决定不使用@C ...
- Java函数式编程(1):Lambda表达式(1)
您好,我是湘王,这是我的CSDN博客,欢迎您来,欢迎您再来- Java在其技术发展周期中经历过几次比较重要的变化,如果不是这几次比较重要的变化,恐怕不会有现在这样的江湖地位.个人看来,至少有两次,一是 ...
- 基于C++11模板元编程实现Scheme中的list及相关函数式编程接口
前言 本文将介绍如何使用C++11模板元编程实现Scheme中的list及相关函数式编程接口,如list,cons,car,cdr,length,is_empty,reverse,append,map ...
- predicate java 作用_Java函数式编程接口详解之Predicate
一.初识 Predicate是Java提供的重要的函数编程接口之一,作用主要是用于逻辑判断. 首先看看源码: @FunctionalInterface public interface Predica ...
- jdk8新特性(接口新特性、lambda表达式、方法引用、函数式接口、Stream流)和单例设计模式
1.单例设计模式 1.概念: 设计模式:使用固有的流程或方式设计出来的类接口.枚举等元素 2.设计原则: 1.私有化构造方法[private.protected] 2.类中创建最终对象[唯一不能被赋值 ...
- java接口构造函数_Java8自定义函数式编程接口和便捷的引用类的构造器及方法
什么是函数编程接口? 约束:抽象方法有且只有一个,即不能有多个抽象方法,在接口中覆写Object类中的public方法(如equals),不算是函数式接口的方法. 被@FunctionalInterf ...
- qlist length 函数讲解_读《JavaScript 轻量级函数式编程》
夜曉宸www.yexiaochen.com 读后感 很久之前,组内分享过函数式编程的相关内容,听完之后的感受就是和没听没什么区别.函数式编程中有许多概念,对于熟悉和见惯面向对象编程的人来说,一时半会 ...
- 【工具】目前几种常见的线上接口文档管理平台的比较
文章目录 一.前言 二.接口文档在线平台 1.apizza 1.1 文档导出html 1.2 导入Postman.json和Swagger.json文件 2. YApi 2.1 源码开源&免费 ...
- 接口文档如何编写,接口文档快速生成工具
正规的团队合作或者是项目对接,接口文档是非常重要的,一般接口文档都是通过开发人员写的.一个工整的文档显得是非重要.下面我总结下自己看到的优秀接口文档. 一.背景介绍 接口:API API(Applic ...
最新文章
- SpringCloud Feign声明式服务调用
- UDP转TCP隧道工具udptunnel
- javascript开发技巧训练_学好这些小技巧,帮你写出更好地JavaScript
- VS 工具-选项对话框 调试选项相关学习总结
- 最小生成树之prim
- Python数据结构与算法(六)--栈和队列
- element子组件中的校验_Salesforce LWC学习(十六) Validity 在form中的使用浅谈
- 9月16日见!vivo高管亲曝NEX 3 5G:99.6%屏占比确认
- stl之截取:以一段字符串截取字符串
- 揭开伟大架构师的秘密
- jdk8下载要先有Oracle账号吗,【转载】linux安装jdk8--附带oracle账号
- android+ios打印机,Android/iOS手机安装HP打印机的详细方法和操作步骤
- 解决fiddler设置手机代理后无法上网问题
- lvgl chart
- Chapter6 CMOS组合逻辑门设计
- Ubuntu 误删恢复
- 比UUID更快更安全NanoID到底是怎么实现的?(荣耀典藏版)
- 当我们谈论Unidbg时我们在谈什么
- 当你觉得生活快熬不下去时,请你读一读《活着》
- iOS--中文排序、全拼音排序