3

我对检查空条件有疑问。例如:

if(some conditon)
value1= value;  //value1 is string type
else 
value1= "";

同样,其他 4 个字符串值也有类似的条件。我需要的是我想检查所有这 5 个字符串值是否为空,以便做一些其他特定的部分。我是这样做的

if(value1 == null)
{
}

但是即使 value1="",pgm 控件也没有进入循环。然后我尝试了

if(value1 ==""){
} 

这也没有奏效。

我们不能检查 null 和 "" 值是否相同?谁能帮我??

4

6 回答 6

11

如果要检查 String 是否为空,请使用

if (s == null)

如果要检查字符串是否为空字符串,请使用

if (s.equals(""))

或者

if (s.length() == 0)

或者

if (s.isEmpty())

空字符串是空字符串。它不为空。并且==绝不能用于比较字符串内容。==测试两个变量是否引用同一个对象实例。如果它们包含相同的字符,则不会。

于 2013-02-09T11:03:50.207 回答
5

要检查字符串上的“不为空”和“不为空”,请使用静态

TextUtils.isEmpty(stringVariableToTest)
于 2013-02-09T11:04:30.710 回答
3

看起来您想检查字符串是否为空。

if (string.isEmpty())

您无法通过这样做来检查,if (string == "")因为您正在比较 String 对象。它们永远不会相同,因为您有两个不同的对象。要比较字符串,请使用string.equals().

于 2013-02-09T11:02:41.303 回答
1

当您处理 String 时,请始终使用.equals.

equals() 函数是 Object 类的一个方法,程序员应该重写它。

如果您想检查字符串是否为空,那么if (string.isEmpty())您也可以尝试if (string.equals(null))

于 2013-02-09T11:04:23.967 回答
1

您可以使用:

我们可以通过两种方式检查字符串是否为空:

  • if(s != null && s.length() == 0)
  • if(("").equals(s))
于 2013-02-09T11:06:14.750 回答
0

喜欢下面。

String str;
if(str.length() > 0)
{
     Log.d("log","str is not empty");
}
else
{
     Log.d("log","str is empty");
}
于 2013-02-09T11:06:09.520 回答