当我尝试编译此:变量可能尚未初始化错误
public static Rand searchCount (int[] x)
{
int a ;
int b ;
...
for (int l= 0; l<x.length; l++)
{
if (x[l] == 0)
a++ ;
else if (x[l] == 1)
b++ ;
}
...
}
我得到这些错误:
Rand.java:72: variable a might not have been initialized
a++ ;
^
Rand.java:74: variable b might not have been initialized
b++ ;
^
2 errors
在我看来,我的方法的顶部初始化它们。发生什么事了?
也许 “INT B = 0;”是“声明和初始化”。 – Arun 2010-03-15 17:05:10
对于未来的访问者...当可能未初始化的变量是类成员时,另请参见[Java中的默认值和初始化](http://stackoverflow.com/q/19131336)。 – jww 2016-12-06 18:05:33
有人可以解释这是如何可能的,因为原语不能有空值,它们的默认值是0,为什么它显示没有初始化错误? – 2017-10-21 00:33:10