2012-03-19 9 views
1

私のアプリケーションでは、文字列型のデータをarraylistに "|"セパレータとしての演算子。すなわち、私の配列リストには [| 123,124、|、324,543 | 789,649,666,356]のようなデータが含まれています 私はarraylistを "|"データを文字列配列に格納する必要があります。どうやってやるの?ArrayListを分割してアンドロイドの文字列配列にデータを格納する方法は?

マイコード:

ArrayList<String> arr2; 
ArrayList<ArrayList<String>> alllist; 
String[] str; 

for (j = 0; j < alllist.size(); j++) { 
    arr2 = new ArrayList<String>(); 
    arr2 = alllist.get(j); 

    for (Object v : arr2) { 
     str = v.toString().split("|"); 
     System.out.println("checking str[i]" + str[i]); 

     if (str[j].contains(",")) { 
      System.out.println("hii"); 
     } 
    } 
} 

それはif(str[j].contains(","))行でエラーを示している....これについては、私を助けてください.. 感謝を事前に...あなたは何をしたい

+1

str変数にはどのような型がありますか? AFAIK、split()メソッドはStringの配列を返しますが、Stringクラスにはcontains()メソッドがありません。 – Egor

+0

エラーは何ですか? – hmjd

+0

エラーはnullポインタ例外です – RaagaSudha

答えて

1

わからないへ達成が、これはあなたのコードをビルドするために助けることができる:

public static void main(String args[]) throws ParseException { 

    List<List<String>> allList = new ArrayList<List<String>>(); 
    allList.add(Arrays.asList("|123,124,|,324,543|789,649,666,356")); 

    for (List<String> list : allList) { //use a for each loop instead of looping on an int and using allList.get(i) 
     for (String s : list) { //Same thing 
      String[] str = s.split("\\|"); //You need to escape | with \\ to get the expected split 
      for (String item : str) { 
       System.out.println("checking " + item); 
       if (item.contains(",")) { 
        System.out.println("hii"); 
       } 
      } 

     } 
    } 
} 
1

は、なぜあなたは、単にこれを使用しないでください:

List<String> flag2=new ArrayList<String>(); 
String flag[]=new String[flag2.size()]; 

for(int i=0;i<flag2.size();i++){ 
    flag[i]=flag2.get(i); 
} 
0
public void onClick(View v){ 
    String teks = txtinput.getText().toString(); 
    String[] tempPesanMasuk = teks.split("_"); 
    ArrayList<String> teks_lengkap = new ArrayList<String>(); 
    String teksJadi = ""; 

    for(int i = 0; i < tempPesanMasuk.length; i++) 
     teks_lengkap.add(tempPesanMasuk[i].trim()); 

    for(int i = 0; i < tempPesanMasuk.length ; i++) 
     teksJadi = teksJadi + teks_lengkap.get(i) + " "; 

    System.out.println(teksJadi); 
} 
+2

ようこそスタックオーバーフロー!あなたのコードが何をしているのか、なぜそれが問題を解決するのかを説明してください。コードが含まれていれば(たとえそれが機能していても)、通常OPが問題を理解するのを助けてくれません。 – SuperBiasedMan

関連する問題