Lambda表达式
实例1:无参数、无返回值
实现只有一行,括号可以省略
//匿名内部类写法 Runnable r=new Runnable(){ @Override public void run() { System.out.println("我爱北京天安门"); } }; r.run(); // Lambda表达式写法 Runnable r1=() -> System.out.println("very good"); r1.run();
实例2:需要一个参数,但没有返回值
//匿名内部类写法 Consumerconsumer=new Consumer (){ @Override public void accept(String t) { System.out.println(t); }};
实例2:需要一个参数,但没有返回值
可以类型推断;只有一个参数,小括号可以省略;
// Lambda表达式写法 Consumerconsumer1=(String t)->{ System.out.println(t); }; Consumer consumer2=(t)->{ System.out.println(t); }; Consumer consumer3=t->{ System.out.println(t); };
实例3:有多个参数有返回值,小括号不能省
//匿名内部类写法 Comparatorcomparator=new Comparator () { @Override public int compare(Integer o1, Integer o2) { return Integer.compare(o1,o2); }}; System.out.println(comparator.compare(10, 20)); //Lambda表达式写法 Comparator comparator1=(o1,o2) -> Integer.compare(o1,o2); System.out.println(comparator1.compare(20, 30));