一步检查字符串的空值和空值

2022-09-04 07:43:05

我有一个 setter 方法。

然后,当运行另一个(例如生成)方法时,我需要检查字段的值。因此,在String属性的情况下,我需要知道它是否包含该值或是否未设置。所以它可能是空的,“”或有意义的东西,有3种可能性。首先检查空值是相当无聊的:

if (s != null)

然后对于空字符串

if (!s.isEmpty())

这里有一步检查吗?您可以告诉我,我可以使用空字符串初始化我的字符串字段。[ 常见吗? ]但是,如果有人将空值传递给 setter 方法 setS 呢?那么我们是否总是必须检查Object值是否为空,然后再对该对象执行某些操作?

好吧,是的,setter方法可以检查它的值,如果字段为null,getter方法也可以返回非null值。但这是唯一的解决方案吗?对于程序员来说,getters和setters的工作太多了!


答案 1

Commons library, StringUtils.isBlank() or StringUtils.isEmtpy().

isEmpty 等效于

s == null || s.length() == 0

isBlank 相当于

s == null || s.trim().length() == 0

答案 2
if(s != null && !s.isEmpty()){
// this will work even if 's' is NULL
}