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

时间:2009-12-16 08:58:52

标签: java string

我有一个setter方法。

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

if (s != null)

然后是空字符串

if (!s.isEmpty())

这里有一步检查吗?你可以告诉我,我可以使用空String初始化我的String字段。 [这是常见的吗? ]但是如果有人将null值传递给setter方法setS呢? 那么在对该对象做某事之前,我们总是要检查Object值是否为null?

嗯,是的,setter方法可以检查它的值,如果字段为null,getter方法也可以返回非null值。但它是唯一的解决方案吗?在吸气剂和吸气剂方面做得太多了。程序员要做的事情!

7 个答案:

答案 0 :(得分:14)

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

isEmpty相当于

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

isBlank相当于

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

答案 1 :(得分:4)

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

答案 2 :(得分:3)

在jakarta commons中有一个StringUtils.isEmpty(String)。

答案 3 :(得分:1)

使用 org.apache.commons.lang.StringUtils ,方法 StringUtils.isNotBlank 检查无效和空虚。

答案 4 :(得分:0)

com.google.guava添加maven依赖项

然后在您的代码中:

import com.google.common.base.Strings;

if(!Strings.isNullOrEmpty(s)) {
  // Do stuff here
}

答案 5 :(得分:0)

如果您正在进行android开发,则可以使用:

TextUtils.isEmpty (CharSequence str) 

在API级别1中添加 如果字符串为null或长度为0,则返回true。

答案 6 :(得分:-3)

试试这个

if(s){

}