次のコードは、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 コンパイラによって無視されることがわかりました。
ただし、このルートは私のクラスのプライベート フィールドであるため、プログラムの機能のためにこれを行う必要があります。
コンパイラは本当にこれを無視しますか? どうすればそれを止めることができますか? なぜそれがデッドコードだと思うのですか?