Function(Function<T, R> )可以看作转换型函数,有一个输入型参数T和返回型参数R。
package com;import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.function.Function;public class Function1Test {private static Map<String, Function<String,String>> map = new HashMap();public static void main(String[] args) {init();String type = "a";
// if(type.equals("a")){
// func01("A","B");
// } else if(type.equals("b")){
// func02("C","D");
// }else if(type.equals("c")){
// func03("E","F");
// }else if(type.equals("d")){
// func03("G","H");
// }map.get(type).apply("A");}private static void init() {map.put("a",Function1Test::func01);map.put("b",Function1Test::func02);map.put("c",Function1Test::func03);map.put("d",Function1Test::func04);}public static String func01(String... str){System.out.println("================func01==============="+ Arrays.toString(str));return "func01";}public static String func02(String... str){System.out.println("================func02==============="+ Arrays.toString(str));return "func02";}public static String func03(String... str){System.out.println("================func03==============="+ Arrays.toString(str));return "func03";}public static String func04(String... str){System.out.println("================func04==============="+ Arrays.toString(str));return "func04";}
}