首页 > Java > java教程 > 如何在 Java 中可靠地检查非空和非空字符串?

如何在 Java 中可靠地检查非空和非空字符串?

Susan Sarandon
发布: 2025-01-04 03:02:42
原创
726 人浏览过

How to Reliably Check for Non-Null and Non-Empty Strings in Java?

评估非空和非空字符串

在编程中,确保字符串输入的有效性至关重要。一个常见的任务涉及验证字符串是否既不是 null 也不是空。让我们探索处理这种情况的各种方法。

考虑提供的代码片段:

public void doStuff(String str)
{
    if (str != null && str != "")
    {
        /* handle empty string */
    }
    /* ... */
}
登录后复制

虽然这看起来很直观,但如果 str 为 null,它会引入潜在的错误。在 Java 中,如果 str 为 null,则使用 == 将字符串与空字符串进行比较的结果为 false。这可能会在检查 str 的空性时导致意外的空指针异常。

使用 isEmpty() 方法

更安全的方法是利用 Java 的 isEmpty() 方法从 Java SE 1.6 开始:

if(str != null && !str.isEmpty())
登录后复制

此表达式确保 str 不为 null 并且至少有一个非空白字符。使用 && 运算符可以短路求值,避免在 str 为 null 时出现空指针异常。

考虑空白

如果需要检查以下字符串不包含任何空白字符,可以使用trim()方法:

if(str != null && !str.trim().isEmpty())
登录后复制

这个表达式删除前导和尾随空白字符,然后检查是否为空。或者,Java 11 引入了 isBlank() 方法,它完成相同的功能:

if(str != null && !str.isBlank())
登录后复制

简洁函数方法

对于简洁的解决方案,实用函数可以定义:

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

此函数可以用作如下所示:

if( !empty( str ) )
登录后复制

通过使用这些方法,开发人员可以有效地确定字符串是否不为空且包含非空白字符,从而增强代码的健壮性和准确性。

以上是如何在 Java 中可靠地检查非空和非空字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板