四大常用内置核心函数式接口
一、Consumer<T>
/*消费型接口: Consumer<T> void accept(T t);
系统定义的lambda接口,接收一个参数,做操作,无返回值*/
Consumer<Double> consumer = p -> System.out.println("您消费了" + p + '¥');
consumer.accept(150.99);
运行结果:
您消费了150.99¥
二、Supplier<T>
/*供给型接口: Supplier<T> T get();
系统定义的lambda接口,不接受参数,有一个返回值*/
Supplier<String> supplier = () -> "恭喜你获得了一次免费旅行的机会!!!";
String result = supplier.get();
System.out.println("返回结果:" + result);
运行结果:
返回结果:恭喜你获得了一次免费旅行的机会!!!
三、Function<T, R>
/*函数型接口:Function<T, R> T:传入值类型 R:返回值类型
系统定义的lambda接口,接收一个参数,返回一个参数*/
Function<String, String> function = s -> s.toUpperCase();
String result = function.apply("l love China");
System.out.println("返回结果:" + result);
运行结果:
返回结果:L LOVE CHINA
四、Predicate<T>
/*断言型接口: Predicate<T> boolean test(T t);
系统定义的lambda接口,接收一个参数,返回一个布尔值*/
Predicate<Integer> predicate = x -> x > 10;
boolean result = predicate.test(20);
System.out.println("结果:" + result);
运行结果:
结果:true