我有一个setter方法。
然后当运行另一个(比如生成)方法时,我需要检查我的字段的值。 所以在String属性的情况下,我需要知道它是否包含值或者是否未设置。 所以它可能是null,“”或有意义的东西,有3种可能性。 首先检查空值是否相当无聊:
if (s != null)
然后是空字符串
if (!s.isEmpty())
的 这里有一步检查吗?你可以告诉我,我可以使用空String初始化我的String字段。 [这是常见的吗? ]但是如果有人将null值传递给setter方法setS呢? 那么在对该对象做某事之前,我们总是要检查Object值是否为null? 的的
嗯,是的,setter方法可以检查它的值,如果字段为null,getter方法也可以返回非null值。但它是唯一的解决方案吗?在吸气剂和吸气剂方面做得太多了。程序员要做的事情!
答案 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){
}