2012-02-26 10 views
0

ImはJavaでゲームプラグインを作成し、Iveはスプリット機能に問題があります。ライン上のスプリットがnullを返す

index = 0; 
     int leng = a.length; 
     while(index != leng){ 
      arr = a[index].split("|"); //this is line 158 
      if(arr[1] == "blue"){ 
      blues[index]= arr[1]; 
      }else{ 
       reds[index] = arr[1]; 
      } 
      index++; 
     } 

イムなっNullPointerExceptionが158
変数ARRはちょうど空の配列です。
変数「a」を印刷して、nullでないことを確認します。
"a"は次のようになります:100 58 -9 |赤。
私を助けることができますか?

答えて

4

splitは、正規表現を受け取り、ありがとうございましたので、代わりにarr = a[index].split("|");の、arr = a[index].split("\\|");

+0

ああ、間違ったチュートリアルを取った、 " - "が区切り文字として設定されました。 私はまったくJavaでうまくいかない。ありがとうございます –

+0

また、文字列比較は '=='ではなく 'equals'または' equalsIgnoreCase'を使って行われます。 – MByD

0

あなたはどのa[index]自体がnullでないことを確認していますか?配列aは空にすることはできません。そうしないと、whileループを入力しません。

+0

いいえ、aがnullでないことを確認してください –

+0

'a'の配列全体ではありません。配列の要素のどれかである 'a [index]'を意味します。 – Bernard