下面的代码给了我一个“死代码”警告在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