lombda表达式,又称语法糖,作用在于简化开发,将匿名内部类(语法糖,不具有改变原变量的能力,)
lombda表达式的特性:在不使用的情况不会加载,一直处于懒加载状态
public class demo21 { public static void main(String[] args) { List<person> list = new ArrayList<>(); list.add(new person("张三",18,"4000")); list.add(new person("李四",20,"5000")); list.add(new person("王五",22,"6000")); list.add(new person("刘七",26,"7000")); Collections.sort(list, new Comparator<person>() { @Override public int compare(person o1, person o2) { // o1.getAge(); return Integer.compare(o1.getAge(),o2.getAge()); } }); //简化前 Collections.sort(list,(x,y)->Integer.compare(x.getAge(),y.getAge()));//简化后 } } java8为lombda添加了4大内置函数,囊括了所有业务场景 Consumer<T> //消费性 有参数,无返回值 accept(T t) Supplier<T> //供给型 无参数,有返回值 T get() Function(T,R) //函数型 有参数,有返回值 T apply(R r) Predicate(T) //断言型 有参数,返回boolean值 boolean test(T t) 具有代表性的接口 Collections.sort((x)->{});
Comparator<Integer> com = ((x,y)->{return Integer.compare(x,y);}); 持续更新