Java两个等号在一个声明中?

时间:2014-02-09 15:53:05

标签: java linked-list

有人可以帮我理解下面代码的作用以及两个等号的行是什么吗?在这个构造函数中,某些等于某事的东西是如何工作的?

public More ...LinkedList() {
      header.next = header.previous = header;
 }

这是我看到这个网站的链接,我想弄明白: http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/LinkedList.java#LinkedList.0header

5 个答案:

答案 0 :(得分:9)

从右到左阅读赋值语句:

  1. header分配给header.pevious
  2. header.previous分配给header.next
  3. 底线:在此行之后,header.previous header.next将引用header

答案 1 :(得分:5)

单个=是赋值运算符。这是一种在一行代码中进行多次赋值的方法。它将header.next和header.previous设置为header的值。

  1. header.next = header.previous = header;
  2. 与......相同。

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

答案 2 :(得分:4)

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

示例:

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

此处最后val1val2& val310

的值相同

答案 3 :(得分:3)

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

答案 4 :(得分:3)

与a = b = 10一样简单和类似,将值10分配给变量b(b = 10),然后将变量b的值赋给变量10(因此a = 10)。有关详细信息,请参阅here