我正在用 java 开发一个框架,它依赖于大量带有大量参数的 XML 文件。
从 XML 文件读取参数时,我必须有一个大的 if-else 语句来确定参数是什么,然后调用适当的方法。 这是正常的吗?有一个大的 if-else 语句?
我认为有一种更简单、更简洁的方法可以做到这一点,例如Java XML 映射还是 Java 反射?这是答案吗?如果是这样,您能否举例说明这是如何完成的,这样我就不必依赖大量的 if-else 语句?
谢谢!
最佳答案
你想先创建一个接口(interface):
public interface XMLParameterHandler {
public handle_parameter (String XMLData);
}
接下来你要创建一个 map :
private Map<string, XMLParameterHandler> handlers;
...并使用相关的 Map
实现之一对其进行初始化:
this.handlers = new HashMap<>();
您需要在多个类上实现该接口(interface),每个类对应一个您打算处理的参数。这是内部类的一个很好的用途。将这些已实现的处理程序中的每一个插入到 map 中:
handlers.put ("Param1", new XMLParam1HandlerImpl());
handlers.put ("Param2", new XMLParam2HandlerImpl());
然后您可以从 xml 处理循环中调用处理程序:
handlers.get (paramValue).handle_parameter(XmlData);
关于java - 如何避免 Java 中的大型 if-else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5539040/