如何检查字符串是否为非空?
public void doStuff(String str)
{
if (str != null && str != "**here I want to check the 'str' is empty or not**")
{
/* handle empty string */
}
/* ... */
}
如何检查字符串是否为非空?
public void doStuff(String str)
{
if (str != null && str != "**here I want to check the 'str' is empty or not**")
{
/* handle empty string */
}
/* ... */
}
当前回答
使用Apache StringUtils的isNotBlank方法
StringUtils.isNotBlank(str)
只有当str不为空时,它才会返回true。
其他回答
根据输入返回true或false
Predicate<String> p = (s)-> ( s != null && !s.isEmpty());
p.test(string);
为了完整性:如果您已经在使用Spring框架,则StringUtils提供了该方法
org.springframework.util.StringUtils.hasLength(String str)
返回: 如果String不是null并且有长度,则为true
以及方法
org.springframework.util.StringUtils.hasText(String str)
返回: 如果String不为空,长度大于0,且不包含空格,则为true
你可以使用StringUtils.isEmpty(),如果字符串是空的或空的,则结果为true。
String str1 = "";
String str2 = null;
if(StringUtils.isEmpty(str)){
System.out.println("str1 is null or empty");
}
if(StringUtils.isEmpty(str2)){
System.out.println("str2 is null or empty");
}
会导致
Str1为空或空
Str2为null或空
如何:
if(str!= null && str.length() != 0 )
加上@BJorn和@SeanPatrickFloyd的番石榴方法是:
Strings.nullToEmpty(str).isEmpty();
// or
Strings.isNullOrEmpty(str);
Commons Lang有时更具可读性,但我已经慢慢地更多地依赖于Guava,有时Commons Lang在涉及到isBlank()时令人困惑(如什么是空白或不是空白)。
Guava版本的Commons Lang isBlank将是:
Strings.nullToEmpty(str).trim().isEmpty()
我会说,代码不允许“”(空)和null是可疑的,潜在的bug,因为它可能无法处理所有不允许null有意义的情况(尽管对于SQL,我可以理解为SQL/HQL是奇怪的”)。