Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。它可以写出更简洁、更灵活的代码,作为一种更紧凑的代码风格,使Java语言表达能力得到了提升。
下面用代码来体现Lambda表达式的优点
/*
* 为什么要使用Lambda(Lambda的优点)
*/
public class TestLambda {
//原来的匿名内部类
@Test
public void test1() {
Comparator<Integer> comparator=new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return Integer.compare(o1, o2);
}
};
TreeSet<Integer> tSet=new TreeSet<>(comparator);
}
//Lambda表达式
@Test
public void test2() {
Comparator<Integer> comparator=(x,y)->Integer.compare(x, y);
TreeSet<Integer> treeSet=new TreeSet<>(comparator);
}
List<Employee> employees=Arrays.asList(
new Employee("张三", 18, 9999.99),
new Employee("李四", 38, 5555.99),
new Employee("王五", 50, 6666.99),
new Employee("赵柳", 16, 3333.99),
new Employee("田七", 28, 7777.99)
);
//需求:获取当前公司中员工年龄大于35的员工信息