Java——函数式接口和lambda表达式
来源:互联网 发布:大智慧全推数据 编辑:程序博客网 时间:2024/06/08 19:36
简介
/** * 函数式接口:只定义了唯一的抽象方法的接口,会使用@FunctionalInterface该注解 * Comparator * Callable * Runnable * Function<T, R> -T作为输入,返回的R作为输出 * Predicate<T> -T作为输入,返回的boolean值作为输出 * Consumer<T> - T作为输入,执行某种动作但没有返回值 * Supplier<T> - 没有任何输入,返回T * UnaryOperator -- 一元操作符, 继承Function,传入参数的类型和返回类型相同 * BinaryOperator<T> -两个T作为输入,返回一个T作为输出,对于“reduce”操作很有用 * * Lambda表达式:Lambda:()->{} * */ @Test public void trans() { //有参数有返回值 Comparator<Integer> com = (x, y) -> { System.out.println("hello3"); return Integer.compare(x, y);//0相等;1 x>y;-1 x<y }; int rs = com.compare(6, 4); System.out.println(rs); //右侧如果只有一条执行语句,可以省略大括号和return System.out.println("hello!"); Comparator<Integer> coms = (x, y) -> Integer.compare(x, y); int rss = com.compare(2, 2); System.out.println(rss); // 返回boolean Predicate<String> check=(str)->str.equals("lambda"); check.test("d"); System.out.println(rs);}
使用场景
1.简化内部类,内部类可以这样实现了。
2.遍历集合
List<String> list = Arrays.asList("A", "B", "C", "D"); forEach(list, str -> System.out.println(str)); // 也可以写成 forEach(list, System.out::println);
阅读全文
0 0
- Java——函数式接口和lambda表达式
- Lambda表达式和函数式接口
- 函数式接口和lambda表达式
- lambda表达式:函数式接口
- JDK 8.0 新特性——函数式接口和Lambda 表达式
- JDK 8.0 新特性——函数式接口和Lambda 表达式
- Java 函数式接口、lambda表达式、函数引用
- Java lambda和函数接口
- Java SE8函数式接口与Lambda表达式
- java 函数式接口与lambda表达式的关系
- [Java]Java8新特性-lambda表达式/语法/函数式接口
- Java8 新特性之一---------Lambda表达式和函数式接口
- Java8的lambda表达式和函数式接口
- Java lambda 函数式接口
- 函数式接口与 Lambda表达式
- Lambda表达式内置函数式接口
- 函数式编程—初识Lambda表达式
- java8 lambda表达式-函数接口
- js写一个旋转木马
- Linux 简介
- WOJ1223-Dining
- 自动化测试的前提
- ElasticSearch-API目录
- Java——函数式接口和lambda表达式
- java面试2
- 通过花生壳设置域名访问
- php实现页面静态化
- 为什么CSDN连个转载的Button都没有
- WIN7无法重启或关机启动不了的故障
- Linux 基本概念及操作
- linux命令--truncate 学习
- MySQL锁定机制简介