Netbeans 7.3.1 IDE 在以下程序的指示行中指出"从不使用分配的值":
public class JavaTest {
static int f() {
return Math.random() < 0.9 ? 0 : 1;
}
static int g() {
return Math.random() < 0.2 ? 0 : 1;
}
public static void main(String[] args) {
int ret;
while ((ret = f()) == 0) { // Unused assignment???
ret = g();
if (ret != 0)
System.out.println(ret);
}
System.out.println(ret);
}
}
我想这是 Netbeans 中的一个错误,但有人可以确认他们以前是否见过它吗?
编辑:很好的观点,对不起,我没有早点看到它。 我现在同意你的看法,我可以用你在Eclipse Juno SR2中的确切代码确认没有关于未使用分配的警告。Netbeans 出错了!
源语言:Netbeans 是正确的...您立即在该行之后为 RET 分配一个新值,因此您不妨将 f() 与 0 进行比较,例如 while(f() == 0)