2011-11-01 166 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];