package main.test;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.function.Supplier;
/**
* @Auther: wdq
* @Date: 2020/4/21 16:18
* @Description:
*/
public class FunctionInterfaceDemo {
public static void main(String[] args) {
/* Function<T,R> 輸入參數類型自定義,返回值類型自定義
Function<String,String> function = new Function<String, String> () {
@Override
public String apply(String s) {
return null;
}
};
*/
Function<String,String> function = s -> s;
System.out.println(function.apply("Function"));
/* Predicate<T> 輸入參數類型自定義,返回值類型爲Boolean
Predicate<String> predicate = new Predicate<String>() {
@Override
public boolean test(String s) {
return false;
}
};
*/
Predicate<String> predicate = s -> s.isEmpty();
System.out.println(predicate.test("Predicate"));
/* Consumer<T> 輸入參數類型自定義,返回值類型是void
Consumer<String> consumer = new Consumer<String>() {
@Override
public void accept(String s) {
}
};
*/
Consumer<String> consumer = s -> System.out.println(s);
consumer.accept("Consumer");
/* Supplier<T> 無參數類型,返回值類型爲T(自定義)
Supplier<String> supplier = new Supplier<String>() {
@Override
public String get() {
return null;
}
};
*/
Supplier<String> supplier = () -> "Supplier";
System.out.println(supplier.get());
}
}