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()); // 验证空字符串
}

常见使用场景

  1. 空字符串校验
    if (input.isEmpty()) {
        // 处理空输入逻辑
    }
    
  2. 与 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 完全相同,但代码更简洁。