Java 如何检查字符串是否为空?
如何检查字符串是否为空Java 如何检查字符串是否为空?,java,Java,如何检查字符串是否为空 if(string.equals("")) { } 您可以使用以下代码执行此操作: if(!string.equals("")) { } 通过if(string!=null) 如果要检查其是否为null或空,则需要If(string!=null&&!string.isEmpty()) 我更喜欢使用StringUtils.isNotEmpty(..) 或 或 你可以试试这个 if(("").equals(string)) 通过以下方式检查空值: if(string
if(string.equals(""))
{
}
您可以使用以下代码执行此操作:
if(!string.equals(""))
{
}
通过
if(string!=null)
如果要检查其是否为null或空,则需要If(string!=null&&!string.isEmpty())
我更喜欢使用StringUtils.isNotEmpty(..)
或
或
你可以试试这个
if(("").equals(string))
通过以下方式检查空值:
if(string != null)
您的示例实际上是检查空字符串
您可以将这两者结合起来,如下所示:
string != null
但是null和empty是两个不同的东西正如大家所说,您必须在测试内存指针的对象中检查(string!=null) 因为每个对象都由内存指针标识,所以在测试任何其他对象之前,必须检查对象是否有空指针,因此: (string!=null&&!string.equals(“”)很好 (!string.equals(“”&&string!=null)可以为您提供nullpointerexception 如果你不喜欢尾随空格,你可以在equals()之前使用trim()
所以“”和“”给出了相同的结果没有什么新的东西可以添加到上面的答案中,只是将其包装到一个简单的类中。Commons lang很好,但是如果您只需要这些或更多的帮助函数,那么滚动您自己的简单类是最简单的方法,同时也可以降低可执行文件的大小
if (string != null && !string.equals("")) { ...
请确保按此顺序使用&&的部分,因为如果&&的第一部分失败,java将不会继续计算第二部分,从而确保如果str为null,则不会从str.isEmpty()获得null指针异常
注意,它只在JavaSE1.6之后才可用
您必须检查str.length()==0或str.equals(“”)
在以前的版本中。使用TextUtils方法
:如果字符串为null或长度为0,则返回true。Parameters:str如果str为null或长度为零,则要检查的字符串返回:true
if(str != null && !str.isEmpty())
TextUtils类的定义
isEmpty方法:
if(TextUtils.isEmpty(str)){
// str is null or lenght is 0
}
检查字符串的最佳方法是:
public static boolean isEmpty(CharSequence str) {
if (str == null || str.length() == 0)
return true;
else
return false;
}
从:
isBlank(字符序列cs):
检查CharSequence是否为空(“”,null
或者只使用空格
您可以使用谓词及其新方法(自Java11以来) 您可以编写代码来检查字符串是否为空:
Predicate notNull=Predicate.not(Objects::isNull);
谓词notEmptyString=Predicate.not(字符串::isEmpty);
谓词isNotEmpty=notNull.and(notemptysting);
然后您可以测试它:
System.out.println(isNotEmpty.test(“”);//假的
System.out.println(isNotEmpty.test(null));//假的
System.out.println(isNotEmpty.test(“null”);//真的
在Java中测试空字符串的常用方法是使用选项
:
Optional.ofNullable(myString.orElse)(“值为null”)
Optional.ofNullable(myString).ifPresent(s->System.out.println(s));
Optional.ofNullable(myString).orelsetrow(()->newruntimeexception(“值为null”);
要测试它是否为null或空,可以使用Apacheorg.Apache.commons.lang3
库,该库提供以下方法:
StringUtils.isEmpty(String)/StringUtils.isNotEmpty(String)
:它测试字符串是否为null或空(“”不为空)
StringUtils.isBlank(String)/StringUtils.isNotBlank(String)
:与isEmpty bt相同,如果字符串仅为空白,则视为空白
并应用于可选
您可以得到:
Optional.ofNullable(myString).filter(StringUtils::isNotEmpty).orElse(“值为null或空”);
不重要,但string.length()==0可能比say等于“”要好,不太好。只有第一个是真的。StringUtils也是+1。我们每个人都应该每天花几分钟阅读ApacheCommons能为我们做些什么!这里可以找到多个spacesU:您应该指定它的库全名、Commons,并更具体地说明方法行为。嗯,你应该把答案提高一点。Regards@FabianoTarlao当然,伙计,你已经更新了答案!不要这样做。它非常复杂,与公认的答案相比没有任何好处。如果(myString!=null){…}
您发现它很复杂,那么它是一个单行程序,与java相同,这是一件很复杂的事情,但我想您也会发现java lambda很复杂,难以阅读?
public class StringUtils {
public static boolean isEmpty(String s) {
return (s == null || s.isEmpty());
}
public static boolean isNotEmpty(String s) {
return !isEmpty(s);
}
}
if(str != null && !str.isEmpty())
if(TextUtils.isEmpty(str)){
// str is null or lenght is 0
}
public static boolean isEmpty(CharSequence str) {
if (str == null || str.length() == 0)
return true;
else
return false;
}
import org.apache.commons.lang3.StringUtils;
if(StringUtils.isNotBlank(string)){
....
}