05 四大函数式接口
四大函数式接口
函数式接口
简化编程模型,在新版本的框架底层大量应用
foreach(消费者类的函数式接口)
四大函数式接口
消费型接口 Consumer
供给型接口 Supplier
函数型接口 Function<T,R> R apply(T t)
断定型接口 predicate
函数型接口 Function<T,R> R apply(T t) 传入参数T 返回R
// Function<String,String> function = new Function<String, String>() {
// @Override
// public String apply(String s) {
// return s;
// }
// };
//
Function<String,String> function = str -> {return str;};
function.apply("asd");
断定型接口 predicate
boolean test(T t)
有一个输入参数,返回值只能是 布尔值
// Predicate<String> predicate = new Predicate<String>() {
// @Override
// public boolean test(String str) {
// return str.isEmpty();
// }
// };
Predicate<String> predicate = str -> {return str.isEmpty();};
System.out.println(predicate.test(""));
消费型接口 Consumer
void accept(T t)
只有输入,没有返回值
// Consumer<String> consumer = new Consumer<String>() {
// @Override
// public void accept(String str) {
// System.out.println(str);
// }
// };
Consumer<String> consumer = str -> {System.out.println(str);};
consumer.accept("123");
}
供给型接口 Supplier
T get()
没有参数只有返回值
// Supplier<Integer> supplier = new Supplier<Integer>() {
// @Override
// public Integer get() {
// return 1024;
// }
// };
Supplier<Integer> supplier = ()->{reutrn 1024;};
supplier.get();