Java 8新特性(一):Lambda表达式

lambda表达式 :

  • Java 8 新特性之一, Lambda表达式的本质只是一个语法糖 ;
  • 使用前提和语法糖 ;
    • 前提:
1. 必须要存在接口,并且接口仅有一个抽象方法。
2. 参数必须可推导, 也就是方法的参数或局部变量类型必须为Lambda对应的接口类型
  • 语法糖:
    (参数1,参数2...) -> { 方法实现的代码 }
普通的方法|构造方法( ()  - >  {}   );
 
形参: 形参如果没有,那么()可以不写。
 
->: 代表把参数传递给方法体。
 
{}: 代表了方法的实现( 方法体只有一行,{} 可以不写 )。

思维区别

  • 面向对象的核心编程思维:找合适的对象完成合适的事情。
  • 函数式编程:不在乎什么形式,只在乎做什么事情(更注重结果)。

lambda的优势 :

  • 可以很大程度上减少代码冗余,让代码看起来更简洁,更直观

lambda的使用实列 :

//  例 1  ===========================
List<String> strs = Arrays.asList("A","B","C");
// 普通方式
for (String s : strs) {
            System.out.println(s);
}

// 遍历并输出结果,看起来是不是更简洁?
strs.forEach(s -> System.out.println(s));


//  例 2 (再写个明显的) ==================
// Comparator排序
List<Integer> list = Arrays.asList(3, 1, 4, 5, 2);
// 普通方式
list.sort(new Comparator<Integer>() {
    @Override
    public int compare(Integer o1, Integer o2) {
        return o1.compareTo(o2);
    }
});

// 使用Lambda表达式简化
list.sort((o1, o2) -> o1.compareTo(o2));

完 :

马上过年了,却没有开心的感觉 = _ =

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容