2011-07-30 15 views
0

に私はこのコードを持っている:転送のArrayList [0] javaの

public class Test{ 
     arrayList<String> list = new ArrayList<String>(); 
     String[][] temp_list; 

     public static void main(String[] args) 
     { 
      String temp = list.get(0); 
      temp_list[0] = temp.split(" "); 
     } 
    } 

を私は[0] .compilingは成功ですが、私は時にエラーが発生しましたtemp_listに「リスト」の最初の項目を転送したいです私はそれを実行します。これはエラーです:

Exception in thread "main" java.lang.NullPointerException 
      at Test.main(Test.java:this line=>temp_list[0] = temp.split(" ");) 

誰でも私を助けることができますか?

答えて

0

temp_listには2次元配列が割り当てられていないためです。 (どの配列を分割の結果に格納する必要がありますか?)

スニペットの作業バージョンです。リストはクラスのメンバ変数として宣言が、主に静的メソッドであるため

import java.util.ArrayList; 

public class Test { 
    static ArrayList<String> list = new ArrayList<String>(); 
    static String[][] temp_list; 

    public static void main(String[] args) { 
     list.add("hello wold"); 

     // allocate memory for 10 string-arrays. 
     temp_list = new String[10][];  <----------- 

     String temp = list.get(0); 
     temp_list[0] = temp.split(" "); 
    } 
} 
+0

素晴らしい!!!その仕事now.yes、私はtemp_list.thanksの男のサイズを割り当てていない! – Roubie

+0

問題ありません、よろしいですか? – aioobe

0

temp_listを使用する前に初期化する必要があります。配列のサイズを指定する必要があります。例:

int sizeOfArray = 5; 
String[][] temp_list = new String[sizeOfArray][]; 
+0

指定されたインデックスは後方にあるようです。 –

+0

間違いを修正しました。 –

0

このコードはコンパイルされませんであろう。

書かれているように、listには何も追加されていないので、list.get(0)の呼び出しは例外(nullポインタではありません)をスローします。

配列temp_listは与えられたコードに割り当てられていません(新しいものはありません)。割り当てを試みるとnullポインタ例外がスローされます。

関連する問題