lamda和匿名内部类

时间:2019-09-29
本文章向大家介绍lamda和匿名内部类,主要包括lamda和匿名内部类使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

匿名内部类

匿名内部类在日常编程中还是经常会使用的。比如

ArrayList<String> list=new ArrayList<>();
list.add(new String("Hello World!"));

lamda 是java 8的新特性。配合java8的stream流处理,特别的方便

//list.foreach
ArrayList<String> list=new ArrayList<>();
list.add("Hello");
list.add("World");
list.foreach(o->{
    System.out.println(o);
});
//stream
list.stream().foreach(o->{
    System.out.println(o);
});

java里还有一个函数接口,在编写中也会用lamda去表示,这样简单一点

  • Function
  • Consumer
  • Predicate
  • Supplier
    这几个常用的函数接口在stream流中有大量的使用,还是非常实用的。

    个人感觉

    我感觉lamda约等于匿名内部类。区别就在于。
    匿名内部类是类,所有有类的特点,比如就私有属性,可以重写方法什么的。
    lamda是接口,所以必须继承重写,而且没有私有变量等,final 还是可以有的,lamda要求的函数接口 只能有一个方法,如果有多个,其它的必须为default

原文地址:https://www.cnblogs.com/duangL/p/11610444.html