【发布时间】:2016-11-29 09:29:29
【问题描述】:
您好,我正在尝试制作一个 java 程序,用户可以在其中输入不同的命令,并且此类可以识别所有命令,并基于此调用来自 3-4 个不同类的方法。目前对于每个命令,我都有不同的 if 语句:
if (input.equals("change category FOOD"){...}
if (input.equals("Sort by price FOOD"){...}
if (input.equals("logout"){...}
有这么多命令,我想知道是否有办法缩短它。
【问题讨论】:
-
可能。您需要告诉我们
{...}部分的内容。 -
您可以使用
switch/case语句。或者某种命令模式,其中命令位于HashMap。 -
使用
Map<String, [something]>定义命令和对象之间的映射,表示要做什么([something]部分)。由于您没有告诉我们命令是什么,我们无法告诉您something可能是什么。 -
根据
...s 是什么,this question 可能会给你一些指示。