## Java8 函数式接口一览 ``` // Function -T作为输入,返回的R作为输出 Function fun = (x) -> {System.out.print(x+": ");return "Function";}; System.out.println(function.apply("hello world")); //Predicate -T作为输入,返回的boolean值作为输出 Predicate pre = (x) ->{System.out.print(x);return false;}; System.out.println(": "+pre.test("hello World")); //Consumer - T作为输入,执行某种动作但没有返回值 Consumer con = (x) -> {System.out.println(x);}; con.accept("hello world"); //Supplier - 没有任何输入,返回T Supplier supp = () -> {return "Supplier";}; System.out.println(supp.get()); //BinaryOperator -两个T作为输入,返回一个T作为输出,对于“reduce”操作很有用 BinaryOperator bina = (x,y) ->{System.out.print(x+" "+y);return "BinaryOperator";}; System.out.println(" "+bina.apply("hello ","world")); ``` ## 自定义函数式 ``` @FunctionalInterface ```