使用!"" .equalsIgnoreCase()

时间:2015-08-26 12:49:29

标签: java

我是Java的新手,我已经看过这段代码:

if (!"".equalsIgnoreCase(queue) && queue.equalsIgnoreCase("my_data"))
{
}

你可以向我解释一下吗?

2 个答案:

答案 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))