我在使用Java进行null
或空char
检查时有疑问。两者都必须以任何方式进行检查。
例如,在数据库中,Char
的可变长度为1。它也允许null
。所以,如果你有空char,那意味着null
?或者我们必须检查
if(someObject.getSomeCharValue()=='' && someObject.getSomeCharValue()==null) {
//true
}
else{
//dont compile
}
答案 0 :(得分:2)
char与''
无关。在char中,null character(or 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()=='' )