if(string.equals(""))
{
}
如何检查字符串是否为空?
if(!string.equals(""))
{
}
答案 0 :(得分:37)
通过if (string != null)
如果要检查其是空还是空 - 您需要if (string != null && !string.isEmpty())
我更喜欢使用commons-lang StringUtils.isNotEmpty(..)
答案 1 :(得分:4)
您可以使用以下代码执行此操作:
if (string != null) {
}
答案 2 :(得分:2)
检查null是通过以下方式完成的:
string != null
您的示例实际上是检查空字符串
你可以将两者结合起来:
if (string != null && !string.equals("")) { ...
但是null和empty是两个不同的东西
答案 3 :(得分:2)
没有什么新东西可以添加到上面的答案中,只需将其包装成一个简单的类。 Commons-lang 是完全可以的,但如果你需要的只是这些或者更多的辅助函数,那么滚动你自己的简单类是最简单的方法,同时保持可执行文件的大小。
public class StringUtils {
public static boolean isEmpty(String s) {
return (s == null || s.isEmpty());
}
public static boolean isNotEmpty(String s) {
return !isEmpty(s);
}
}
答案 4 :(得分:1)
if(str != null && !str.isEmpty())
请务必使用&&和按此顺序,因为如果第一部分&&和java不会继续评估第二部分。如果str为null,则确保您不会从str.isEmpty()获得空指针异常。
请注意,它仅在Java SE 1.6之后可用。
你必须检查str.length() == 0 or str.equals("")
以前的版本。
答案 5 :(得分:1)
使用TextUtils方法。
TextUtils.isEmpty(str):如果字符串为null或0-length,则返回true。参数:str要检查的字符串返回:如果str为null或零长度,则返回true
if(TextUtils.isEmpty(str)){
// str is null or lenght is 0
}
Source TextUtils类
isEmpty Method:
public static boolean isEmpty(CharSequence str) {
if (str == null || str.length() == 0)
return true;
else
return false;
}
答案 6 :(得分:0)
正如大家所说,你必须在你正在测试内存指针的对象中检查(string!= null)。
因为每个对象都由一个内存指针标识,你必须在测试其他任何内容之前检查你的对象是否有空指针,所以:
(string!= null&&!string.equals(“”))很好
(!string.equals(“”)&& string!= null)可以给你一个nullpointerexception。
如果你不关心尾随空格你总是可以在equals()之前使用trim() 所以“”和“”会给你相同的结果
答案 7 :(得分:0)
检查字符串的最佳方法是:
import org.apache.commons.lang3.StringUtils;
if(StringUtils.isNotBlank(string)){
....
}
来自doc:
isBlank(CharSequence cs):
检查CharSequence是否为空(""),null 或仅限空白。
答案 8 :(得分:0)
您可以使用谓词及其新方法(自Java 11开始)Predicate::not
您可以编写代码以检查字符串是否不为null也不为空:
Predicate<String> notNull = Predicate.not(Objects::isNull);
Predicate<String> notEmptyString = Predicate.not(String::isEmpty);
Predicate<String> isNotEmpty = notNull.and(notEmptyString);
然后您可以对其进行测试:
System.out.println(isNotEmpty.test("")); // false
System.out.println(isNotEmpty.test(null)); // false
System.out.println(isNotEmpty.test("null")); // true
答案 9 :(得分:0)
在Java中测试空字符串的常用方法是使用Optionals
:
Optional.ofNullable(myString).orElse("value was null")
Optional.ofNullable(myString).ifPresent(s -> System.out.println(s));
Optional.ofNullable(myString).orElseThrow(() -> new RuntimeException("value was null"));
要测试它是否为null或为空,可以使用Apache org.apache.commons.lang3
库,该库为您提供以下方法:
StringUtils.isEmpty(String) / StringUtils.isNotEmpty(String)
:它测试String是否为null或为空(“”不为空)StringUtils.isBlank(String) / StringUtils.isNotBlank(String)
:如果String仅是空格,则被视为空白,与isEmpty bt相同并应用于Optional
,您将得到:
Optional.ofNullable(myString).filter(StringUtils::isNotEmpty).orElse("value was null or empty");
答案 10 :(得分:-2)
if(string != null)
或
if(string.length() == 0)
或
if(("").equals(string))
答案 11 :(得分:-4)
if(string != null)