Следующий код дает мне предупреждение о «Мертвый код» в 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.
Однако этот корень является частным полем моего класса, и поэтому для моей программы необходимо, чтобы я это делал.
Неужели компилятор действительно проигнорирует это? Как я могу это остановить? Почему он думает, что это мертвый код?
- это фактический код? –
Проведите очистку и перестройте код, время от времени затмевается Eclipse. –
Я думаю, что единственный раз, когда это может произойти, будет, если бы корень был недействительным. Возможно, посмотрите, где используется эта переменная. – austin