lambda表达式入门理解:
1.调用lambda表达式的方法必须包含一个“函数式接口的实现”作为参数;
2.lambda表达式其实就是对函数式接口的简写,因为函数式接口只有一个抽象方法;
3.lambda表达式:
->左边是该匿名函数的参数
->右边是该匿名函数要执行的代码
测试代码
public class ConsumerTest {
public static void main(String[] args) {
List<String> al = Arrays.asList("a","b","c","d");
//传统foreach方式
for (String a: al) {
System.out.println(a);
}
//匿名函数方式 (forEach(Consumer<? super T> action)方法,接收一个函数式接口Consumer<T> 类型参数)
al.forEach(new Consumer<String>(){
@Override
public void accept(String s) {
System.out.println(s);
}
});
//下面的lambda表达式是对上面的匿名函数的简写
al.forEach(x -> {
System.out.println(x);
});
//也可以先实例化Consumer
Consumer<String> consumer = x -> {
System.out.println(x);
};
al.forEach(consumer);
//调用实例的accept方法
for (String a: al) {
consumer.accept(a);
}
}
}