Java中一个语句中的两个等号是什么意思?

5

不是相等(==),而是赋值(=)。 - Pshemo
5个回答

12

从右往左读取赋值语句:

  1. header 赋值给 header.previous
  2. header.previous 赋值给 header.next

简而言之,在此代码行执行后,header.previousheader.next 都将引用到 header


酷哥,非常有帮助。 - Hell Man
1
当其他人都没有得到赞时,同一个答案获得四个赞一定很不错。有什么技巧可以做到这一点吗? - jeremyjjbrown
@jeremyjjbrown,我已尽力了...但是我只有一种声音... - AlexR
并发场景怎么样? - lily

5

一个等号是赋值运算符。这是在一行代码中进行多重赋值的一种方式。它将 header.next 和 header.previous 设置为 header 的值。

  1. header.next = header.previous = header;

等同于...

  1. header.next = header;
  2. header.previous = header;

5

header.nextheader.previous具有相同的值header

例子:

int val1 = 10;
int val2 = 11;
int val3 = val2 = val1;

最终,val1val2val3的值都与10相同。


3

这意味着header.nextheader.previous都将被设置为header


3

它就像a=b=10一样简单和相似,其中值10被赋给变量b(b=10),然后变量b的值被赋给变量a(因此a=10)。请参见这里获取更多详细信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接