首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Java中制作动态方法的哈希图

如何在Java中制作动态方法的哈希图
EN

Stack Overflow用户
提问于 2018-06-04 02:59:22
回答 1查看 2K关注 0票数 4

这是一个特定的问题,但我想知道如何对在参数中获得的函数进行HashMap,如下所示:

代码语言:javascript
复制
//All functions will take in string and return void
public HashMap<String,Function> functions = new HashMap<String,Function>();
public void addMethod(String name, Function func){
   functions.put(name, func);
}
public void useMethod(String name, String input){
   functions[name](input);
}

我该如何正确地做这件事呢?

EN

回答 1

Stack Overflow用户

发布于 2018-06-04 03:01:36

您可以使用Consumer<String>

首先,将您的HashMap更改为:

代码语言:javascript
复制
public HashMap<String,Consumer<String>> functions = new HashMap<>();

然后,您的addMethod为:

代码语言:javascript
复制
public void addMethod(String name, Consumer<String> func){
    functions.put(name, func);
}

然后你可以useMethod到:

代码语言:javascript
复制
public void useMethod(String name, String input){
    functions.get(name).accept(input);
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50669922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档