检查字符串是否不为 null 且不为空

新手上路,请多包涵

如何检查字符串是否不为空且不为空?

 public void doStuff(String str)
{
    if (str != null && str != "**here I want to check the 'str' is empty or not**")
    {
        /* handle empty string */
    }
    /* ... */
}

原文由 user405398 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 519
2 个回答

isEmpty() 怎么样?

 if(str != null && !str.isEmpty())

请务必按此顺序使用 && 的部分,因为如果 && 的第一部分失败,java 将不会继续计算第二部分,从而确保您不会得到 null来自 str.isEmpty() 如果 str 为空。

当心,它仅在 Java SE 1.6 之后可用。您必须检查以前版本的 str.length() == 0


也忽略空格:

 if(str != null && !str.trim().isEmpty())

(因为 Java 11 str.trim().isEmpty() 可以减少到 str.isBlank() 这也将测试其他 Unicode 空格)

包装在一个方便的功能中:

 public static boolean empty( final String s ) {
  // Null-safe, short-circuit evaluation.
  return s == null || s.trim().isEmpty();
}

变成:

 if( !empty( str ) )

原文由 Colin Hebert 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题