1. 方法概述
isEmpty()
是 Java String 类提供的一个便捷方法,用于判断字符串长度是否为零。这个方法本质上等同于检查 length() == 0
,但代码更简洁直观。
⚠️ 注意:此方法不会检查字符串是否为 null
,调用前需确保对象非空,否则会抛出 NullPointerException
。
2. 方法签名
public boolean isEmpty()
- 返回值:
boolean
类型- ✅
true
:字符串长度为 0(空字符串) - ❌
false
:字符串长度大于 0
- ✅
3. 使用示例
@Test
public void whenCallIsEmpty_thenCorrect() {
String s1 = "";
assertTrue(s1.isEmpty()); // 验证空字符串
}
常见使用场景
- 空字符串校验
if (input.isEmpty()) { // 处理空输入逻辑 }
- 与 null 检查结合
if (input == null || input.isEmpty()) { // 防御性编程 }
踩坑提醒
- ❌ 错误用法:直接对可能为 null 的对象调用
String str = null; boolean result = str.isEmpty(); // 抛出 NullPointerException
- ✅ 正确姿势:先判 null 再调用
String str = null; boolean result = str == null ? true : str.isEmpty();
4. 性能对比
方法 | 执行速度 | 可读性 | 适用场景 |
---|---|---|---|
isEmpty() |
最快 | 高 | 明确需要检查空字符串 |
length() == 0 |
相同 | 中 | 需要同时获取长度时 |
equals("") |
较慢 | 低 | 需要比较内容时 |
💡 建议:优先使用
isEmpty()
,JVM 会对其进行优化,性能与length() == 0
完全相同,但代码更简洁。