如何检查字符串是否为非空?
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 */
}
/* ... */
}
当前回答
简单的解决方法:
private boolean stringNotEmptyOrNull(String st) {
return st != null && !st.isEmpty();
}
其他回答
正如seanizer上面所说,Apache StringUtils在这方面非常出色,如果你要包括guava,你应该做以下工作;
public List<Employee> findEmployees(String str, int dep) {
Preconditions.checkState(StringUtils.isNotBlank(str), "Invalid input, input is blank or null");
/** code here **/
}
我还建议您通过名称而不是索引来引用结果集中的列,这将使您的代码更容易维护。
简单地说,忽略空白:
if (str == null || str.trim().length() == 0) {
// str is empty
} else {
// str is not empty
}
import android.text.TextUtils;
if (!TextUtils.isEmpty(str)||!str.equalsIgnoreCase("") {
...
}
如果你使用Spring框架,那么你可以使用method:
org.springframework.util.StringUtils.isEmpty(@Nullable Object str);
该方法接受任何Object作为参数,将其与null和空String进行比较。因此,对于非空的非string对象,此方法永远不会返回true。
那么isEmpty()呢?
if(str != null && !str.isEmpty())
请确保按此顺序使用&&的部分,因为如果&&的第一部分失败,java将不会继续计算第二部分,从而确保如果str为空,则不会从str. isempty()获得空指针异常。
注意,它只在Java SE 1.6以后可用。你必须在以前的版本上检查str.length() == 0。
也可以忽略空白:
if(str != null && !str.trim().isEmpty())
(从Java 11开始,str.trim().isEmpty()可以简化为str.isBlank(),这也将测试其他Unicode空白)
封装在一个方便的函数中:
public static boolean empty( final String s ) {
// Null-safe, short-circuit evaluation.
return s == null || s.trim().isEmpty();
}
就变成:
if( !empty( str ) )