根据 java 中的字符串名称调用函数

Invoking a functions based on string name in java

我需要一个逻辑来替换下面的代码。

 void invokeMethod(String action){
    if ("echo".equals(action)) {
         //call echo
         echo();
    } 
    else if ("dump".equals(action)) {
         // call dump
         dump();
    }
    ... goes on
}

带字符串参数的 switch case 在 java 1.6 中不工作。 我可以用更好的方法吗?

我使用了一个 java hashmap,其中 action 作为键,随机整数作为值。每当要求调用特定操作时,从 hashmap 中获取整数并使用 switch case(在上面的问题中,字符串比较非常操作,用整数替换相同)。