Android Studio 提示信息 ‘equals(““)‘ can be replaced with ‘isEmpty()‘
- 在 Android Studio 中,出现如下提示信息
'equals("")' can be replaced with 'isEmpty()'
# 解读equals("") 可以被替换为 isEmpty()
问题原因
-
equals 方法替换为 isEmpty 方法可以优化代码的可读性和效率
-
isEmpty 方法直接表达字符串是否为空
-
equals 方法需要先检查对象类型是否为 String,再比较字符串
-
isEmpty 方法直接检查字符串长度(
length() == 0
),效率更高
处理策略
- equals 方法替换为 isEmpty 方法
// 原来是这样的if (str.equals("")) {...
}
// 修改成这样的if (str.isEmpty()) {...
}
注意事项
- isEmpty 方法要求字符串不能为 null,否则会抛出 NullPointerException,如果字符串可能为 null,需要先做判空检查
if (str != null && str.isEmpty()) {...
}
- Java 11 的 isBlank 方法则是用来检查字符串是否为空或仅包含空白字符
String str = " ";System.out.println(str.isEmpty());
System.out.println(str.isBlank());
# 输出结果false
true