博客
关于我
Java箭头函数,lambda表达式
阅读量:338 次
发布时间:2019-03-04

本文共 1612 字,大约阅读时间需要 5 分钟。

JDK8+以上引入了箭头函数,即J8的lambda表达式。

Lambda表达式的本质只是一个"语法糖",由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能。本人建议不要乱用,因为这就和某些很高级的黑客写的代码一样,简洁,难懂,难以调试,维护人员想骂娘.)

下面看两段代码理解下:

// 1. 不需要参数,返回值为 5  () -> 5    // 2. 接收一个参数(数字类型),返回其2倍的值  x -> 2 * x    // 3. 接受2个参数(数字),并返回他们的差值  (x, y) -> x – y    // 4. 接收2个int型整数,返回他们的和  (int x, int y) -> x + y    // 5. 接受一个 string 对象,并在控制台打印,不返回任何值(看起来像是返回void)  (String s) -> System.out.print(s)String[] atp = {   "Rafael Nadal", "Novak Djokovic",         "Stanislas Wawrinka",         "David Ferrer","Roger Federer",         "Andy Murray","Tomas Berdych",         "Juan Martin Del Potro"};  List
players = Arrays.asList(atp); // 以前的循环方式 for (String player : players) { System.out.print(player + "; "); } // 使用 lambda 表达式以及函数操作(functional operation) players.forEach((player) -> System.out.print(player + "; ")); // 在 Java 8 中使用双冒号操作符(double colon operator) players.forEach(System.out::println);String[] players = { "Rafael Nadal", "Novak Djokovic", "Stanislas Wawrinka", "David Ferrer", "Roger Federer", "Andy Murray", "Tomas Berdych", "Juan Martin Del Potro", "Richard Gasquet", "John Isner"}; // 1.1 使用匿名内部类根据 name 排序 players Arrays.sort(players, new Comparator
() { @Override public int compare(String s1, String s2) { return (s1.compareTo(s2)); } });// 1.2 使用 lambda expression 排序 players Comparator
sortByName = (String s1, String s2) -> (s1.compareTo(s2)); Arrays.sort(players, sortByName); // 1.3 也可以采用如下形式: Arrays.sort(players, (String s1, String s2) -> (s1.compareTo(s2)));

转载地址:http://bcse.baihongyu.com/

你可能感兴趣的文章
web项目配置
查看>>
基于单片机简易信号误差分析设计-全套资料
查看>>
基于单片机简易脉搏测量仪系统设计-毕设课设资料
查看>>
Javascript中String支持使用正则表达式的四种方法
查看>>
eclipse引用sun.misc开头的类
查看>>
Servlet2.5的增删改查功能分析与实现------删除功能(四)
查看>>
spring启动错误:Could not resolve placeholder
查看>>
invalid byte sequence for encoding
查看>>
技术美术面试问题整理
查看>>
C++学习记录 五、C++提高编程(2)
查看>>
ORB-SLAM2:LoopClosing线程学习随笔【李哈哈:看看总有收获篇】
查看>>
Codeforces Round #305 (Div. 1) B. Mike and Feet(单调栈)
查看>>
js求阶乘
查看>>
简单的xml读取存储方法(未优化)
查看>>
Making the grade 和Sonya and Problem Wihtout a Legend
查看>>
Nginx---惊群
查看>>
项目中常用的审计类型概述
查看>>
(九)实现页面底部购物车的样式
查看>>
python-day3 for语句完整使用
查看>>
ButterKnife使用问题
查看>>