在路上

 找回密码
 立即注册
在路上 站点首页 学习 查看内容

java8 lambda 表达式使用实例

2016-12-20 13:16| 发布者: zhangjf| 查看: 452| 评论: 0

摘要: java 8的lambda表达式本质上是一个内置类,实现了某个接口, 可以访问上下文中的变量, 写起来简单了很多, 请看下面的示例。 import java.util.ArrayList; import java.util.Collections; import java.util.List; ...

java 8的lambda表达式本质上是一个内置类,实现了某个接口, 可以访问上下文中的变量, 写起来简单了很多, 请看下面的示例。

  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. import java.util.List;
  4. /**
  5. * Created by outofmemory.cn on 2015/11/25.
  6. */
  7. public class AppLambda {
  8. public static void main(String[] args) {
  9. List<String> names = new ArrayList<String>();
  10. names.add("Jim");
  11. names.add("Tom");
  12. names.add("Mary");
  13. Collections.sort(names, (a, b) -> a.compareTo(b));
  14. Collections.sort(names, (String a, String b) -> {
  15. return a.compareTo(b);
  16. });
  17. for (String name : names) {
  18. System.out.println(name);
  19. }
  20. }
  21. }
复制代码

上面实例中调用了两次Collections.sort()方法, 第一个lambda表达式很简单(a, b) -> a.compareTo(b), 这里将a,b两个变量的类型都省略了, 返回值直接写在了->之后。

而第二个lambda表达式则比较复杂一点; 首先完整的写了类型名,并写了花括号, 有了花括号之后就可以写多行语句,最后需要写return。

最新评论

小黑屋|在路上 ( 蜀ICP备15035742号-1 

;

GMT+8, 2025-7-8 12:25

Copyright 2015-2025 djqfx

返回顶部