以下代码在 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 编译器忽略。
但是,这个根是我班级中的一个私有字段,因此我的程序功能有必要这样做。
编译器真的会忽略这一点吗?我怎么能阻止它?为什么它认为它是死代码?