jdk8学习笔记
1、Lambda表达式
一、引入操作符
语法格式一:无参数,无返回值
()-> System.out.println(1);
语法格式二:有一个参数,无返回值
(x)-> System.out.println(x);
语法格式三:若只有一个参数,小括号可以省略不写
x->System.out.printlna(x);
语法格式四:多参数,多条语句,有返回值
(x,y)->{
System.out.println(x);
return y;
}
语法格式五:只有一条语句,return和大括号都可以省略
(x,y)->Integer.compare(x,y)
语法格式六:参数类型不用写
二、Lambda表达式需要“函数式接口”的支持
函数式接口:接口中只有一个抽象方法的接口,称为函数式接口,@FunctionalInterface修饰
-
Consumer<T>:消费型接口
void accpet(T t);
/**
* Consumer
*/
@Test
public void test1(){
happy(10000.00,m->System.out.println("Consumer接口"+m));
}
public void happy(Double money, Consumer<Double> consumer){
consumer.accept(money);
} -
Supplier<T>:供给型接口
T get()
-
Function<T,R>:函数型接口
R apply(T t);
-
Predicate:段言行接口
boolean test(T t);

浙公网安备 33010602011771号