java - HashMap 用于调用方法 - 最小化 If Else 语句

标签 java hashmap if-statement

我不知道如何解决它。

需要详细信息帮助

最佳答案

您首先创建一个Map<String, Shape> ,包含所有可能的命令作为键,以及相应的形状作为值:

Map<String, Shape> shapesByCommand = new HashMap<String, Shape>();
shapesByCommand.put("circle", new Circle());
shapesByCommand.put("sun", new Sun());
...

然后,当你收到命令时,你会得到相应的形状并使其可见:

Shape shape = shapesByCommand.get(commands[0]);
if (shape != null && "visible".equals(commands[1])) {
    makeVisible(shape);
}

关于java - HashMap 用于调用方法 - 最小化 If Else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13849686/

相关文章:

android - 根据android中的使用情况对应用程序进行排序

sql - IF 内含存储过程的 WHERE

java - 如果不执行位置

java - SQSListener 与 ThreadpoolExecutor

java - Java 绑定(bind)不匹配链表

透明颜色绘图的java性能影响?

c - 为什么我的 if 语句不起作用?

java - Pojo 到 json 模式 v4,反之亦然,通过 maven

java - HashMap 添加所有项目,即使是重复的

c++ - C++ 中 unordered_map 的错误?