我是Java的新手,我已经看过这段代码:
if (!"".equalsIgnoreCase(queue) && queue.equalsIgnoreCase("my_data"))
{
}
你可以向我解释一下吗?
答案 0 :(得分:5)
意思是:
if (
!"".equalsIgnoreCase(queue) //variable queue is not the empty string
&& // And
queue.equalsIgnoreCase("my_data") //variable queue is equal to "my_data" without taking the case into account. This means "MY_DATA" will also be true
) {
}
它应该写成:
if ("my_data".equalsIgnoreCase(queue)) {
}
这样,如果队列为null
,它将不会抛出错误,但仍会应用验证。
答案 1 :(得分:1)
"".equalsIgnoreCase(queue)
此检查是字符串queue
等于空字符串
!
为否定,因此!"".equalsIgnoreCase(queue)
代表queue
不为空
queue.equalsIgnoreCase("my_data")
支票queue
等于“my_data”并且忽略大小写,因此My_DaTa
也会满足此要求
if (!"".equalsIgnoreCase(queue) && queue.equalsIgnoreCase("my_data"))
表示队列不为空且等于my_data
,实际上可以重构为
if ( "my_data".equalsIgnoreCase(queue))