java8函數(shù)式編程 Function
// Function<T, R> -T作為輸入,返回的R作為輸出
Function<String,String> function = (x) -> {System.out.print(x+": ");return "Function";};
System.out.println(function.apply("hello world"));
//Predicate<T> -T作為輸入棕诵,返回的boolean值作為輸出
Predicate<String> pre = (x) ->{System.out.print(x);return false;};
System.out.println(": "+pre.test("hello World"));
//Consumer<T> - T作為輸入厘托,執(zhí)行某種動(dòng)作但沒有返回值
Consumer<String> con = (x) -> {System.out.println(x);};
con.accept("hello world");
//Supplier<T> - 沒有任何輸入逛裤,返回T
Supplier<String> supp = () -> {return "Supplier";};
System.out.println(supp.get());
//BinaryOperator<T> -兩個(gè)T作為輸入,返回一個(gè)T作為輸出廊移,對(duì)于“reduce”操作很有用
BinaryOperator<String> bina = (x,y) ->{System.out.print(x+" "+y);return "BinaryOperator";};
System.out.println(" "+bina.apply("hello ","world"));
// 輸出
hello world: Function
hello World: false
hello world
Supplier
hello world BinaryOperator