关于Jdk新特性的函数式接口
package com.lxl.juc.jdk8;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.function.Supplier;
/**
* @author lvxl
*/
public class Jdk8 {
public static void main(String[] args) {
// 断定型接口 返回值只能是布尔类型 只有一个输入参数
Predicate<String> predicate = (o) -> {
return o.length() > 0;
};
System.out.println(predicate.test("123"));
// 函数式接口 只有一个方法 有输入参数和输出参数
Function<String, String> function = o -> {
return o;
};
System.out.println(function.apply("123"));
// 消费性接口 只有一个输入 没有返回值
Consumer<String> consumer = System.out::println;
consumer.accept("consumer");
// 供给型接口 没有入参 只有返回值(指定的是返回值类型)
Supplier<String> supplier = new Supplier<String>() {
@Override
public String get() {
return "supplier";
}
};
System.out.println(supplier.get());
}
}