Java 为什么我会在Eclipse中收到已使用变量的“未使用变量”警告?
这是我的班级:Java 为什么我会在Eclipse中收到已使用变量的“未使用变量”警告?,java,eclipse,Java,Eclipse,这是我的班级: private class Node { public int[] pivot; public int pivotIndex; } 我在Eclipse中得到警告,pivotIndex未被使用,但 但事实并非如此,它稍后将在同一文件的代码中使用。 这是Eclipse中的一个bug吗?只是在其他地方提到了您的变量并不意味着它被使用了。证明: public class Test { public void x() { Node n = new Node()
private class Node {
public int[] pivot;
public int pivotIndex;
}
我在Eclipse中得到警告,pivotIndex未被使用,但
但事实并非如此,它稍后将在同一文件的代码中使用。
这是Eclipse中的一个bug吗?只是在其他地方提到了您的变量并不意味着它被使用了。证明:
public class Test {
public void x() {
Node n = new Node();
n.pivot = null;
n.pivotIndex = 0;
}
private class Node {
public int[] pivot;
public int pivotIndex;
}
}
现在,pivot和pivotIndex都被标记为未使用,并且非常合理:程序从不需要它们的值。另一个可以提及但不一定使用变量的实例是在方法中的任何循环或if语句中
public void method(){
int[] pivot;
int pivotIndex;
...
for(int i=0; i<pivot.length; i++){
pivotIndex=i;
}
}
在本例中,pivot将标记为已使用,因为此循环的条件将始终至少检查一次。然而,如果数组的长度被否决,因为应该使用它的代码没有显示出来,我非常怀疑这是Eclipse中的一个bug。如果你能展示一个完整的类来演示这个假定的bug,那会有所帮助。旁白:不要使用公共变量。我强烈怀疑您的代码中有一个微妙的错误,Eclipse实际上是非常正确的经验法则:编译器和IDE确实存在错误,但对于您怀疑的每一种情况,更可能是它是正确的,并且您有问题。一直以来,我都在想这个bug是否存在于编译器中,我认为只有3到4次它确实存在。还有1000次是我的错误。我估计你有一个同名的局部变量或参数,你只访问它,从不访问字段。