小白求问。这个画黄色的线上面这个语句什么意思。很多符号理解不了。还有在哪里短句做判断也不懂。谢谢!
(k = p.key) == key || (key != null && key.equals(k))
相当于2个boolean进行或运算。即 A || B
其中 A = ((k = p.key) == key)
这句话的意思就是先将p.key
赋值给k
,然后判断k
是否等于key
。如果等于则A为true
,否则为false
; 该句话等同于下面的代码
K k = p.key; // 将p.key赋值给key
if (k == key) {
A = true;
} else {
A = false;
}
其中B= (key != null && key.equals(k))
,这句话就比较好理解了吧。key
不为null
,并且key
和k
相等时,B为true
;否则为false
3 回答2.6k 阅读✓ 已解决
3 回答4.1k 阅读✓ 已解决
8 回答3.8k 阅读
4 回答2.8k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.6k 阅读✓ 已解决
4 回答1.9k 阅读
摘自本人文章一文详解HashMap