优化这段代码 if (StringUtils.isNoneBlank(rowData.get(6))) { if (EXCEL_OPEN.equals(rowData.get(6))) { preAuditSwitch = 1; } else if (EXCEL_CLOSE.equals(rowData.get(6))) { preAuditSwitch = 0; } else if (EXCEL_NULL.equals(rowData.get(6))) { preAuditSwitch = null; } else { fail += 1; result.append("第").append(i).append(EXCEL_ERROR1); continue; } }
时间: 2024-02-10 15:25:07 浏览: 110
你可以优化这段代码如下:
```java
String value = rowData.get(6);
if (StringUtils.isNotBlank(value)) {
switch (value) {
case EXCEL_OPEN:
preAuditSwitch = 1;
break;
case EXCEL_CLOSE:
preAuditSwitch = 0;
break;
case EXCEL_NULL:
preAuditSwitch = null;
break;
default:
fail += 1;
result.append("第").append(i).append(EXCEL_ERROR1);
continue;
}
}
```
在这个优化后的代码中,我将外部方法的调用移至代码块之外,以减少重复调用的开销。使用`switch`语句替代多个`if-else`语句,使代码更简洁易读。另外,我也将变量名`rowData.get(6)`提取为一个局部变量`value`,以提高代码的可读性和复用性。
相关问题
StringUtils.isNoneBlank和StringUtils.isBlank区别
StringUtils.isNoneBlank和StringUtils.isBlank都是Apache Commons Lang库中的方法,用于判断字符串是否为空。
区别在于:
StringUtils.isBlank判断字符串是否为空或者只包含空格字符,如果是则返回true,否则返回false。
StringUtils.isNoneBlank判断字符串是否不为空且不只包含空格字符,如果是则返回true,否则返回false。
举个例子:
```java
StringUtils.isBlank(null); // true
StringUtils.isBlank(""); // true
StringUtils.isBlank(" "); // true
StringUtils.isBlank(" "); // true
StringUtils.isBlank("abc"); // false
StringUtils.isNoneBlank(null); // false
StringUtils.isNoneBlank(""); // false
StringUtils.isNoneBlank(" "); // false
StringUtils.isNoneBlank(" "); // false
StringUtils.isNoneBlank("abc"); // true
```
StringUtils.isNoneBlank和StringUtils.isNotBlank的区别
StringUtils.isNoneBlank和StringUtils.isNotBlank是两个Apache Commons Lang库中的字符串处理方法。
StringUtils.isNoneBlank用于判断一个字符串数组中是否至少有一个非空白字符串,如果有,则返回true,否则返回false。如果传入的参数为null,则返回false。
StringUtils.isNotBlank用于判断一个字符串是否为非空白字符串,如果是,则返回true,否则返回false。如果传入的参数为null,则返回false。
所以,两者的区别在于传入参数的不同,isNoneBlank需要传入字符串数组,而isNotBlank只需要传入一个字符串。
阅读全文