带返回值的用
Function
不带返回值的用
Consumer
先说 Function
比如我进来一个List数据 或者一个String 字符串 ,要根据某个字段的值来进行 if else
第一步定义一个 map
private final Map<String, Function<入参,返回参数>> userMap= new HashMap<>();
private final Map<String, Function<User, String>> userMap= new HashMap<>();
User 就是参数,String 是返回值。,参数和返回值都可以随意定义 但是要与实现方法中保持一致
第二步
创建一个方法。这个方法就是 被调用的。比如 从 Controller 里 调他。这里是入口
public String createUser(User param) { Function<User,String> lisenner = userMap.get(param.getExpress_code()); return lisenner.apply(param); }
第三步
@PostConstruct public void dispatcherInit() { userMap.put("vip",this::vipDosomething); userMap.put("svip",this::svipDosomething); userMap.put("csvip",this::csvipDosomething); ...... }
第四步
定义你的方法
public String vipDosomething(User user){
// doSomething
return "";
}
public String svipDosomething(User user){
// doSomething
return "";
}
public String csvipDosomething(User user){
// doSomething
return "";
}
注意的是 参数和返回值与 userMap 保持一致
不带返回值的用Consumer
private final Map<String, Consumer<Map<String,Object>>> map= new HashMap<>();
红色的是参数,可以随意定义 我这里需要这样一个对象
方法
public void orderPontJS(Map<String,Object> map) { //doSomething }