如何评估一个字符串是否为空?

问题描述

| 我有一个字符串,它是从数据库中读取的。该字符串可以只是\“ null \”。我需要确定它是否为空?在以下几种方法中,什么是合适的方法?
String a = …;
If  (a == null)

If ( a.length == 0)
我也看到类似的东西
If  a.equals(“ “)
这是如何运作的?     

解决方法

        
if (a == null)
在Java中,“ 3”比较引用,因此您可以检查引用a是否指向null。如果
a
等于null,则
a.length
a.equals
会引发NullPointerException,因为您不能在null上调用方法。 当您将字符串与等值进行比较时,即:   当且仅当   参数不为null,并且为String   表示相同的对象   字符序列作为此对象。 因此,即使根据文档可以在null上调用equals(如前所述,我们也不能如此),但无论如何它永远都不会返回true。 仅当
a
等于
\"\"
(空字符串)时,String.length才返回零。按照方法:   返回此字符串的长度。的   长度等于数量   字符串中的Unicode代码单位。 如有疑问,请进行测试! :-)     ,        这是在Java中检查null
String
值的方式:
String a = ...;
if (a == null) {
    // ...
}
由于a是
null
,因此以下内容抛出
NullPointerException
String a = null;
if (a.length() == 0) {
    // ...
}
以下检查是否有一个空字符串,它不同于
null
! (如果
a
null
,它也会抛出
NullPointerException
String a = ...;
if (a.equals(\"\")) {
    // ...
}
以下内容(与上面类似)检查包含单个空格字符的一个字符串。 (如果
a
null
,它也会抛出
NullPointerException
String a = ...;
if (a.equals(\" \")) {
    // ...
}
    ,        您似乎可以轻松地进行测试,但是在Java中,您可以使用
if( a == null ) ...
测试字符串是否为
null
。 您的第二个例子应该是
if( a.length() == 0)
它只是测试看看String是否为空,而不是
null
。值
\"\"
的长度为0。如果
a
实际上是
null
,则该示例将引发异常,因为您无法在Java中的
null
引用上调用方法。 您的最后一个示例正在测试以查看String是否为空格字符。     ,        这完全取决于数据库库如何解释数据库中的NULL值。 有些可能以
null
字符串形式传递它们,有些可能以空字符串形式传递它们,有些则可能引发异常-这都取决于您如何配置它以及所使用的软件。 不知道您使用的是哪种数据库访问器,就不可能确定地回答这个问题。     ,        我用 ...
if(string == null || string.trim.length() == 0) {
 // string is null or empty
}
话虽这么说,数据库中也有NULL值,在通过ResultSet时应该检查。如 ...
String nameVal = rs.getString (\"name\");
   if (rs.wasNull ())
       nameVal = \"(no name available)\";
对于Nullable列,SQL是三态的。列可以具有值,列可以为NULL或列可以包含空String。 NULL具有明确的含义,在对数据库代码进行编程时需要牢记。     ,        if(a!=空&& a.length == 0)   //然后为空     ,        出于语义原因,我将使用“ 2”。就在那儿,您很清楚正在检查一个空字符串。     ,        如果字符串可以是实际值\“ null \”,则使用
if(a.equals(\"null\"))
如果对象可以设置为NULL,则使用
if(a == null)
最好的办法是将它们结合起来
if(a == null || a.equals(\"null\"))
    ,        如果你有 :
String test = getIntent().getStringExtra(\"value\");
你应该 :
if ( test.equalsIgnoreCase(\"null\")){
      dosomething...
}else {
       dosomething... 
}
    ,        
try{
    methodWhichUsesTheString(a);
}catch (Exception NullPointerException){
    //string a seems to be null
    a = \"Re-assign some desired value that would make things work\" ;
}
    

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...