Lambda 表达式

2020-04-01  本文已影响0人  奶盐味小圆饼

Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。

Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。

使用 Lambda 表达式可以使代码变的更加简洁紧凑。

public static class Person {

        private StringfirstName;

        private StringLastName;

        private int age;

}

public static void main(String[] args) {

        List people = Arrays.asList(

            new Person("Yixing", "Zhang", 25),

            new Person("Yanggui", "Li", 30),

            new Person("Chao", "Ma", 28)

        );

    checkAndExecute(people, p -> p.getLastName().startsWith("Z"),

                                                P -> System.out.println(P.getFirstName()));

    people.stream().filter(p -> p.getLastName().startsWith("Z"))

                                    .forEach(p -> System.out.println(p.getFirstName()));

    people.stream().filter(p -> p.getLastName().startsWith("Z"))

                                    .forEach(System.out::println);

    /**

    * 判空操作

    */

    Optional personOpt = Optional.ofNullable(Person);

      personOpt.ifPresent(System.out::println);

    //return personOpt.orElse();

/* return personOpt.map(p->p.getLastName())

                              .map(name->name.toUpperCase())

                              .orElse(null);*/

}

public static void checkAndExecute(List people, Predicate predicate, Consumer consumer) {

        people.forEach(p -> { if (predicate.test(p))

                                             consumer.accept(p);

                                     });

   }

今天为了学习Lambda表达式,我在知乎上看到一个回答特别的详细,对于初学者肯定是有帮助的https://www.zhihu.com/question/20125256/answer/324121308

看不懂的代码
上一篇下一篇

猜你喜欢

热点阅读