四大函数式接口
Fuction 函数型接口,有一个输入参数,有一个输出参数
函数型接口:输入一个参数,输出输入的参数
//Function 函数型接口 public class Demo01 { public static void main(String[] args) { Function function = new Function<String ,String >() { @Override public String apply(String str) { return str; } }; //lambda表达式 Function function1 = (str)->{ return str; }; System.out.println(function.apply("abc")); System.out.println(function1.apply("abc")); } }
Predicate断定型接口
断定型接口:有一个输入值,只能返回布尔类型
//predicate 断定型接口 public class Demo02 { public static void main(String[] args) { // Predicate <String> predicate = new Predicate<String>() { // @Override // public boolean test(String str) { // return str.isEmpty(); // } // }; // System.out.println(predicate.test("abc")); //lambda表达式 Predicate <String>predicate1 =(str)->{ return str.isEmpty(); }; System.out.println(predicate1.test("")); } }
Consumer 消费型接口
输入一个参数,没有返回值
//Consumer 消费型接口 public class Demo03 { public static void main(String[] args) { // Consumer<String> Consumer = new Consumer<String>() { // @Override // public void accept(String str) { // System.out.println(str); // } // }; // Consumer.accept("consumer"); //lambda表达式 Consumer<String> consumer = (str)->{ System.out.println(str); }; consumer.accept("consumer"); } }
Supplier 供给型接口
只有返回值,没有输入参数
//Supplier 供给型接口 public class Demo04 { public static void main(String[] args) { // Supplier<String> supplier = new Supplier<String>() { // @Override // public String get() { // return "null"; // } // }; // System.out.println(supplier.get()); Supplier<String>supplier=()->{ return "null"; }; System.out.println(supplier.get()); } }