优化一下下面这段代码 if (ObjectUtils.isNotEmpty(metaDataBase)) { if (StringUtils.isNotBlank(metaDataBase.getName())) { tableDataInfo.setTableName(metaDataBase.getName() + "/" + metaDbTable.getName()); } else { MetaDataSource metaDataSource = metaDataSourcesMap != null ? metaDataSourcesMap.get(metaDataBase.getDataSourceId()) : null; if (metaDataSource != null) { tableDataInfo.setTableName(metaDataSource.getName() + "/" + metaDbTable.getName()); } } }
时间: 2024-02-14 13:13:38 浏览: 35
可以优化为以下代码:
```
if (ObjectUtils.isNotEmpty(metaDataBase)) {
String tableName = StringUtils.isNotBlank(metaDataBase.getName()) ?
metaDataBase.getName() :
metaDataSourcesMap != null ?
metaDataSourcesMap.get(metaDataBase.getDataSourceId()).getName() :
null;
if (StringUtils.isNotBlank(tableName)) {
tableDataInfo.setTableName(tableName + "/" + metaDbTable.getName());
}
}
```
主要优化点:
1. 将嵌套的 if 语句转换为条件表达式三目运算符,减少了代码行数。
2. 将重复的代码提取出来,避免了重复赋值。
相关问题
说明一下StringUtils.isNotEmpty和StringUtils.isNotBlank的区别
StringUtils.isNotEmpty和StringUtils.isNotBlank都是Apache Commons Lang库中的字符串工具类方法,用于判断字符串是否为空。
StringUtils.isNotEmpty会判断传入的字符串是否为null或长度是否为0或是否只包含空格字符(空格、制表符、换行符等),如果以上任意一个条件成立,则返回false;否则返回true。
StringUtils.isNotBlank会判断传入的字符串是否为null或长度是否为0或是否只包含空格字符(空格、制表符、换行符等),如果以上任意一个条件成立,则返回false;否则返回true。相比之下,StringUtils.isNotBlank会忽略空格字符。
例如:
```
StringUtils.isNotEmpty(null); // false
StringUtils.isNotEmpty(""); // false
StringUtils.isNotEmpty(" "); // false
StringUtils.isNotEmpty(" \n\t"); // false
StringUtils.isNotEmpty("abc"); // true
StringUtils.isNotBlank(null); // false
StringUtils.isNotBlank(""); // false
StringUtils.isNotBlank(" "); // false
StringUtils.isNotBlank(" \n\t"); // false
StringUtils.isNotBlank("abc"); // true
```
因此,当需要判断字符串是否为空时,可以根据具体情况选择使用StringUtils.isNotEmpty或StringUtils.isNotBlank方法。
objectutils.isnotempty()方法
ObjectUtils.isNotEmpty()方法是Apache Commons Lang库中的一个方法,用于检查对象是否不为空。如果对象不为空,则返回true,否则返回false。
例:
```
String str = "Hello";
if(ObjectUtils.isNotEmpty(str)) {
System.out.println("The string is not empty.");
} else {
System.out.println("The string is empty.");
}
```
输出:
```
The string is not empty.
```
如果str为null或空字符串,则输出将是“The string is empty”。