2 回答

TA贡献1830条经验 获得超3个赞
替换您的 2 种方法validarObligatorios并validarNumericas通过以下单个功能回答您的问题吗?
private void validarObligatoriosYNumericos(final JobParameters parameters) throws JobParametersInvalidException {
for (String nombre : PARAMETROS_OBLIGATORIOS) {
if (StringUtils.isBlank(parameters.getString(nombre))) {
String error ="El parametro " + nombre + " es obligatorio";
LOGGER.error(error);
throw new JobParametersInvalidException(error);
}
}
for (String nombre : PARAMETROS_NUMERICOS) {
if (!StringUtils.isNumeric(parameters.getString(nombre))) {
String error = "El parametro " + nombre + " debe ser numerico";
LOGGER.error(error);
throw new JobParametersInvalidException(error);
}
}
}
!

TA贡献1831条经验 获得超4个赞
将数值列数组复制到列表中并用于contains查看是否应检查值。此解决方案假定数字列数组是强制列数组的子集,但看起来这是一个安全的假设。
private void validarObligatorios(final JobParameters parameters) throws JobParametersInvalidException {
List<String> numericColumns = Arrays.asList(PARAMETROS_NUMERICOS );
String error = null;
for (String nombre : PARAMETROS_OBLIGATORIOS) {
if (StringUtils.isBlank(parameters.getString(nombre))) {
error ="El parametro " + nombre + " es obligatorio";
} else if (numericColumns.contains(nombre) {
if (!StringUtils.isNumeric(parameters.getString(nombre))) {
error = "El parametro " + nombre + " debe ser numerico";
}
}
if (error != null) {
LOGGER.error(error);
throw new JobParametersInvalidException(error);
}
}
}
添加回答
举报