【发布时间】:2015-12-21 07:24:31
【问题描述】:
我创建了一个 shell(如命令提示符)。我正在接受用户输入并比较 if 条件中的字符串以执行输入的命令。因此,我的 java 代码中有很多 if 语句,这是不理想的。我正在寻找一种更好的方法来实现这部分代码。是否可以存储我所有的命令,然后遍历数组以查看需要执行哪些命令?有什么好的建议吗?
if (cmd[0].equals("pwd")) {`
command = new Pwd();
invoker = new Invoker(command);
invoker.action();
}
else if (cmd[0].equals("ls")) {
command = new Ls();
invoker = new Invoker(command);
invoker.action(); //this executes the command
}
...等等
【问题讨论】:
-
使用
Map,卢克。或switch声明,但地图允许更多动态行为,例如扩展命令列表的能力。 -
感谢您的链接。真的很有帮助!