什么是lambda表达式?为什么使用lambda表达式?

lambda表达式是一个匿名函数,我们可以将其理解为一段传递信息的代码(将代码像数据一样传递)。可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使得Java代码的可读性大大提高。

1、lambda表达式对于匿名内部类的改造:

//使用内置的比较器
        TreeSet<User> set = new TreeSet <>(new Comparator <User>() {
            @Override
            public int compare(User o1, User o2) {
                return o1.getName().compareTo(o2.getName());
            }
        });
        //使用lambda表达式定义一个比较器
        TreeSet <User> set1 = new TreeSet <>(Comparator.comparing(User::getName));
        final List <User> users = Arrays.asList(
                new User("李四", 19),
                new User("张三", 16),
                new User("王五", 23),
                new User("王五", 23)
        );
        System.out.println(users);
        set1.addAll(users);
        System.out.println(set1);

很明显,使用lambda表达式后一切看起来非常简洁,这也是我喜欢它的原因之一。