下面的代碼給了我一個「死代碼」警告在Eclipse:不需要死代碼警告在Eclipse
private void add(Node<E> n, E element) {
Node<E> e = new Node<E>(element);
if (n == null)
root = e;
else if (n.compareTo(e) > 0)
if (n.hasLeft())
add(n.getLeft(), element);
else
n.setLeft(e);
else if (n.hasRight())
add(n.getRight(), element);
else
n.setRight(e);
balance(e);
}
警告出現在寫着root = e;
行。
我擡頭看看死代碼,發現它是沒有效果的代碼,因此會被java編譯器忽略。
但是,這個根是我的班級中的私人領域,因此我需要爲我的程序的功能做到這一點。
編譯器真的會忽略這個嗎?我怎麼能阻止呢?它爲什麼認爲這是死代碼?
是那個實際的代碼? – 2013-02-22 01:53:54
做一次清理並重新編譯代碼,Eclipse偶爾錯誤一次。 – 2013-02-22 01:55:02
我認爲唯一可能發生的情況是,如果root不可能爲空。也許看看這個變量的用處。 – austin 2013-02-22 01:55:21