一、Lambda
可以把Lambda表达式理解为简洁地i表示可传递的匿名函数的一种方式:它没有名称,但它有参数列表、函数主体、返回类型,可能还是一个可以抛出的异常列表。
听上去,跟我们用的匿名类,匿名方法什么的很像。我们继续看看把。
第一篇,我们做的事分苹果,这次我们给苹果根据重量来做个Comparator吧。
先来以前的:
1 Comparator byWeight=new Comparator() {2 @Override3 public intcompare(Apple o1, Apple o2) {4 returno1.getWeight ().compareTo (o2.getWeight ());5 }6 };
用了lambda:
1 Comparator byWeight=(Apple a1,Apple a2)->a1.getWeight ().compareTo (a2.getWeight ());
是不是很简单。简单讲一下lambda的格式,由lambda参数、箭头、lambda主体三部分组成;
其中lambda参数也可以不用写类型,它会根据上下文自己判断类型,后面有例子出现。
而lambda主题如果像以上表达式只有一句的话,可以不叫{},但有多条语句的话必须加{}。
二、函数式接口
1 public interface Pridicat