【发布时间】:2021-07-10 08:16:22
【问题描述】:
根据 switch 语句的匹配,我的代码调用一个或另一个类。每个类都采用完全相同的一组参数:
switch (propAlarma.asunto[iteracionAlarma]) {
case "Reinicio Mirth":
resultado = ReiniciosMirth.main(
prop,
propAlarma,
dt,
iteracionAlarma,
propAlarma.json[iteracionAlarma],
idNotify
);
break;
case "Alerta de actualizacion Mirth":
resultado = ActualizacionMensajeriaMirth.main(
prop,
propAlarma,
dt,
iteracionAlarma,
propAlarma.json[iteracionAlarma],
idNotify
);
break;
default:
System.out.println("No hay match en el switch");
}
这些是我传递的对象的类。例如:
public static String main(
Properties prop,
PropiedadesAlarma PropiedadesAlarma,
DateTime dt,
int iteracionAlarma,
JSONObject mailJson,
int idNotify
) {
我想对此进行优化,因为我计划向交换机添加更多案例。我是 Java 新手(我习惯用 Python 编程)。在 Python 中,我会做这样的事情:
arguments = [
prop,
propAlarma,
dt,
iteracionAlarma,
propAlarma.json[iteracionAlarma],
idNotify
]
if propAlarma.asunto[iteracionAlarma] == "Reinicio Mirth":
ReiniciosMirth.main(arguments)
if propAlarma.asunto[iteracionAlarma] == "Alerta de actualizacion Mirth":
ActualizacionMensajeriaMirth.main(arguments)
【问题讨论】:
-
如果您是 Java 新手,也许您应该了解所谓的接口和依赖项注入...尤其是如果您的所有类都接受相同数量(和类型)的参数
标签: java arrays class switch-statement arguments