与null比较,不适用于java
我一直试图在if条件下与与null比较,不适用于java,java,android,sqlite,Java,Android,Sqlite,我一直试图在if条件下与null进行比较,但它不起作用,总是在Else中进行比较。代码如下: String authEmail = cursor.getString(cursor.getColumnIndexOrThrow("AUTHOR_EMAIL")); Log.i(gtag, "author email => " + authEmail); if (authEmail == null ) { Log.i(gtag, "in author check - IF
null
进行比较,但它不起作用,总是在Else中进行比较。代码如下:
String authEmail = cursor.getString(cursor.getColumnIndexOrThrow("AUTHOR_EMAIL"));
Log.i(gtag, "author email => " + authEmail);
if (authEmail == null ) {
Log.i(gtag, "in author check - IF NULL");
} else {
Log.i(gtag, "in author check - ELSE ");
}
这里的cursor
是查询SQLite数据库的结果,AUTHOR\u EMAIL
是列的名称。Logcat将作者的电子邮件显示为空,但它仍在其他位置。以下是日志:
06-24 15:30:55.307: I/GCA-Abs-Con(1282): author email => foo@bar.de
06-24 15:30:55.307: I/GCA-Abs-Con(1282): in author check - ELSE
06-24 15:30:55.357: I/GCA-Abs-Con(1282): author email => null
06-24 15:30:55.357: I/GCA-Abs-Con(1282): in author check - ELSE
logcat的第三行显示authorEmail
为null
,但它仍在else
中
我也尝试了authEmail.equals(null)
,但也没有成功。
如何修改if条件以完全检查null?提前谢谢。试试这个
if (authEmail.equals("null")) {
而不是
if (authEmail == null ) {
用于字符串比较的.equals()
如下操作:
if (authEmail == null || authEmail.equals("null")) {
...
}
首先检查变量是否为null。如果不是,则检查字符串是否为文本
null
。当然,最好跟踪字符串为什么会包含看似无意的文本null
。要检查数据库字段是否具有SQL null值,请使用光标的方法:
用这个
if (authEmail == null || authEmail.equalsIgnoreCase("null")) {
// handle null case
} else {
// handle other case
}
如果(authEmail.equals(null)),请尝试;{}authEmail是一个字符串“null”而不是null ObjectNo,您不能使用
equals
进行null检查。也尝试了equals,但不起作用authEmail似乎是字符串“null”,而不是值null。正如下面的答案所示,做一个平等的回答。我建议Darkdust回答,因为他的回答不会引起任何NullPointerException我认为authEmail.equals(null)
必须是authEmail.equals(“null”)
我的Java已经生锈了,但是如果authEmail
是null
并且你试图调用null
上的方法,你不会得到一个异常吗?谢谢!我试过authEmail.equals(null)但不起作用,但当我试过authEmail.equals(“null”)时,它起作用了!这是因为这里的null
被视为值吗?@ShumailMohy ud Din您添加了null,而且,检查“null”.equals(authEmail)
我试过authEmail.equals(null),但不起作用,但当我试过authEmail.equals(“null”)时,它起作用了!这是因为null
此处被视为值吗?不是,这是因为变量确实包含文本。而该文本恰好是null
。如String text=“null”中所示代码>做到了-实际上,这是最直接的解决方案。
if (authEmail == null || authEmail.equalsIgnoreCase("null")) {
// handle null case
} else {
// handle other case
}