看一个函数式接口有什么用,实质上就是看其抽象方法有什么用
import java.util.function.Consumer;
/*
Consumer接口是一种消费性接口,也就是使用数据
Consumer 接口中包含抽象方法 void accept(T t) ,意为消费一个指定泛型的数据。
*/
public class DemoConsumer {
public static void main(String[] args) {
method("赵丽颖",(name)->{
System.out.println(new StringBuffer(name).reverse().toString());
});
}
public static void method(String name ,Consumer<String> con)
{
con.accept(name);
}
}
/*
消费数据的时候,首先做一个操作, 然后再做一个操作,实现组合。而这个方法就是 Consumer 接口中的default方法 andThen
*/
public class DemoConsumer02 {
public static void main(String[] args) {
method("helloworld",(name)->{
System.out.println(name.toLowerCase());
},(name)->{
System.out.println(name.toUpperCase());
});
}
private static void method(String name, Consumer<String> con1,Consumer<String> con2)
{
con1.andThen(con2).accept(name);
}
}