Java 8 in Action (1) -- 函数式接口
来源:互联网 发布:淘宝联盟是骗局吗 编辑:程序博客网 时间:2024/05/29 17:17
Java8中常用的函数式接口
上表中最后一列中的Int可以替换为Long和Doublera然后再加上函数接口名, 原始类型特化基本上都是Int, Long, Double 开头, BooleanSupplier, BiPredicate没有特化类型
如果没有需要的接口,可以自行定义
比如我需要(T,U,R)->void,先定义一个函数式接口
/** * Created by LYJ on 2016/10/7. */@FunctionalInterfacepublic interface MyFunction<T,U,R>{ void excute(T t,U u,R r);}
/** * Created by LYJ on 2016/10/7. */public class Main { public static void main(String[] args) { //为了简化,我们值判断 Integer转成字符串和String值是否相等,没有用到Double //可以看到下面这行代码用了行为参数化 //第4个参数,将代码当作参数传递给函数式接口去执行,更灵活更简洁 int result= goExcute(1,"1",0.1,(Integer a,String b,Double c)->(a+"").equals(b)); System.out.println(result + " --------- result --- Main.main\n"); } /** * @param t 在这个例子中 代表Integer,因为int是基础类型所以不行 * @param u 代表String * @param r 代表Double * @param f 我们自定义的函数式接口,传递代码 * @param <T> * @param <U> * @param <R> * @return */ public static <T,U,R> int goExcute(T t,U u,R r,MyFunction<T,U,R> f){ if(f.excute(t,u,r)){ return 1; } else return 0; }}
我们可以通过上面的方式自定义一个函数式接口
0 0
- Java 8 in Action (1) -- 函数式接口
- 《Java in Action》-1 第13章 函数式的思考
- 《Java in Action》-1 第14章 函数式编程的技巧
- java 8 函数式接口
- 《Java in Action》-1 第8章重构、测试和调试
- Java使用Action接口
- My Java 8 in Action
- Java 8 in Action (2) -- Stream 流
- Java Reflection in Action
- JAVA 8 In Action 读书笔记 (三) : Collect In Stream
- Java 8 : 函数式接口例子
- 学习 Java 8 - 函数式接口 Lambda
- Java 8 函数式接口Functional Interface
- 《Java 8 in Action》-1 第1章 为什么要关心Java 8
- 6.2.8 In Action
- ActiveMQ in Action(1)
- ActiveMQ in Action(1)
- ActiveMQ in Action(1)
- Codeforces 724C 预处理
- (Leetcode)92. Reverse Linked List II ——反转单链表
- Openfiler 2.99命令行下添加Volume Group
- [bzoj3682]Phorni
- 利用Java从班级通联电子表中剔除部分指定同学之后生成新的Excel表格
- Java 8 in Action (1) -- 函数式接口
- 第七周项目2——建立链队算法库
- 算术运算
- OOAD基本概念
- poj 2367 Genealogical tree(DAG的拓扑排序)
- poj 3281
- 【1】Android Service
- 翻转单词顺序列 java
- SPOJ 694 / SPOJ DISUBSTR Distinct Substrings【后缀数组】不相同的子串的个数