java.lang.String#isEmpty() 与 org.apache.commons.lang.StringUtils#isEmpty()

标签 java string apache-commons

虽然 oracles 方法的描述说仅当字符串长度为 0 时才返回 true,但 string utils 方法的描述说该方法还会检查字符串是否为“null”。那我应该用什么方法呢?如果字符串的长度为 0(例如“”),它自动不是“null”,或者如果我将字符串设置为“null”,然后使用 oracle 方法检查其空性,我会得到“false”,所以不是apaches 方法的 nullcheck 是多余的还是我的想法完全错误?请帮助我理解其中的区别!

最佳答案

我倾向于始终使用 apache 版本。 Oracle 版本要求您有一个非空字符串,因为它是一个实例方法,例如

String s = null;
s.isEmpty(); <--- throws a NullPointerException
StringUtils.isEmpty(s); <--- returns true

如果您不想在项目中包含 commons-lang,您可以使用以下方法实现相同的功能

s != null && s.isEmpty()

关于java.lang.String#isEmpty() 与 org.apache.commons.lang.StringUtils#isEmpty(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29795909/

相关文章:

java如何计算MD5值

c# - 将包含 monthName 的字符串转换为 MonthDigit 的 Int

javascript - 如何强制 JS 做数学运算而不是将两个字符串放在一起

java - Apache Commons HttpClient 是否支持 GZIP?

java - 将域添加到 apache.commons 中的 UrlValidator

java - 尽管 RetentionPolicy 为 RUNTIME,但无法通过反射查看注释

java - 当派生实体包含 SAX 代码时,不会加载派生实体的 JPA 属性

java - 如何设置来自另一个 Activity 类的文本

c++ - 将 const_cast 应用于字符串文字?

java - 添加 ByteArrayOutputStreams