2011-11-01 79 views
1

这行代码给出了以下警告:Java初始化变量或数组?

short[] sh = null; 

    for (int i = 0, n = b.length; i < n; i++) { 
     sh[i] = 0; 

    } 

警告:变量SH只能是空在这个位置。

short[] sh; 

for (int i = 0, n = b.length; i < n; i++) { 
    sh[i] = 0; 

} 

而且,这个代码给出了以下警告:

警告:局部变量SH可能没有被初始化。

回答

2

这是因为你需要初始化数组。试试这个:

short[] sh = new short[b.length]; 

如果没有初始化,你会得到这些警告,并会得到NullPointerException,如果你运行它。

+0

+1,漂亮的编辑:) – Joe

0

SH永远是空在你的代码:

short[] sh = new short[b.length]; 
0

初始化指创建阵列,在Java中使用“new”关键字

short[] arr = new short[10]; 
0

sh是表示一个数组变量short s。

警告:变量SH只能在这个位置空。

sh初始化,但是不正常,这是null

short[] sh = new short[b.length]; 

警告:局部变量SH可能没有被初始化。

由于不会被初始化你必须初始化它自动像实例变量局部变量。

1

您刚刚声明了一个变量。

您需要创建数组:

short[] arr = new short[size];