在java中,null和empty char都相等

时间:2015-06-12 09:20:13

标签: java database null char

我在使用Java进行null或空char检查时有疑问。两者都必须以任何方式进行检查。

例如,在数据库中,Char的可变长度为1。它也允许null。所以,如果你有空char,那意味着null?或者我们必须检查

if(someObject.getSomeCharValue()=='' && someObject.getSomeCharValue()==null) {
    //true
}
else{
    //dont compile
}

3 个答案:

答案 0 :(得分:2)

char与''无关。在char中,null characteror empty char)为\0\u0000。您无法查看''null

例如,如果您声明这样的字符:

char c = '';//compilation error here

char c = null;//compilation error here

因此,如果要检查char是否为null,则需要使用以下代码:

char c = '\0';
if (c == '\0') System.out.print("char is null");//if(c == '\u0000') also can be possible
else System.out.print("char is not null");

答案 1 :(得分:0)

if(someObject.getSomeCharValue()=='' && someObject.getSomeCharValue()==null)

someObject.getSomeCharValue()==''someObject.getSomeCharValue()==null都是编译错误。

如果DB中没有值,则表示它为null但不是空char。

Java中没有任何名为空的char('') 但是有空字符串("")。

答案 2 :(得分:-2)

空字符不为空。它们不仅具有任何价值。

是。您应检查两列是否允许空值。此外,您的代码可能会给您NullPointerException,因为您首先检查空char,然后检查null。最好在下面使用

if(someObject.getSomeCharValue()==null || someObject.getSomeCharValue()=='' )