如果我有一个执行以下操作的程序:
if(input=='abc'){do x}
if(input=='def'){do y}
在未来,我可能想添加另一段代码,如下所示:
if(input=='ghy'){do x}
如您所见,我使用相同的函数 X 为不同的条件添加了一个新的“if”语句。 future 的代码可能会有很多不同的 IF 语句(或开关),所有这些语句都比较一个字符串与一个字符串,然后执行一个函数。考虑到 future 的扩展,我想知道是否有一种可能的“更简洁”、“模块化”的方式来实现相同的结果。
很遗憾我无法在 Java 的哈希表 (String, method) 中将 String 与 Method 调用结合起来。这样我就可以将任何新过程存储在哈希表中并获取该字符串的相关方法。
有什么想法吗?
谢谢
编辑:感谢大家提供的解决方案。我对在这么短的时间内收到的回复数量和质量感到惊讶。
最佳答案
也许你可以使用enum
。示例:
public enum InputType
{
abc, def
{
@Override
public void x()
{
System.out.println("Another method");
}
},
ghy;
public void x()
{
System.out.println("One method");
}
}
还有:
InputType.valueOf("abc").x();
干杯!
关于java - 添加新字符串的调制 -> 方法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5057696/