优化这段代码 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 16:25:07 浏览: 27
你可以优化这段代码如下:
```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.isNoneBlank是Apache Commons Lang库中的一个方法,用判断一个或多个字符串是否都不为空或仅包含空格字符。如果传入的字符串参数中有任意一个为空或仅包含空格字符,则返回false,否则返回true。下面是一个示例:
```
StringUtils.isNoneBlank("hello", "world"); // true
StringUtils.isNoneBlank(" hello ", "world"); // true
StringUtils.isNoneBlank("", "world"); // false
StringUtils.isNoneBlank(null, "world"); // false
```