2017-11-14 12 views
1

"[1,2,3]"のような文字列をJavaのArrayListに変換しようとしています。 私がこれまで試したことは使用してリストに上記の文字列を変換するためにGSonライブラリを使用することです:配列のような文字列をJavaのArrayListに変換する

  1. Gson - convert from Json to a typed ArrayList<T>
  2. Convert Gson Array to Arraylist
  3. Parsing JSON array into java.util.List with Gson

が、それは例外で終わる(私は必要に応じて詳細を提供することができます)。このような変革を達成するための良いアプローチであれば、最初の疑問は実際にあるはずです。

+0

*最初の質問は、それがこのような変換を達成するための良い方法だ場合、実際にすべきですか?*はい、それは大丈夫です。 *しかしそれは例外で終わる(私は必要ならばもっと詳細を提供することができる)。*してください。 – shmosel

+0

括弧を[]でくくって文字列を昏睡状態に分割できます。 何かのように: String employee = "Smith、Katie、3014、、8.25,6.5 ,,, 10.75,8.5"; 文字列delims = "[、]"; String [] tokens = employee.split(delims); その後、トークン配列をarraylistに簡単に変換できます。 – melanzane

答えて

2

参照します。次に、ArrayListに変換します。

String s = "[1, 2, 3]"; 
String[] splits = s.replace("[","").replace("]","").split(","); 
ArrayList<String> arrayList = new ArrayList<>(Arrays.asList(splits)); 
0

文字列を "[1,2,3、...]"から "1,2,3、..."に変換し、次にArrayクラスのue asList()メソッドを使用することをお勧めしますそれをリストに変換する。

非正規表現方法は、文字列からブラケットを取り外し、次にコンマで分割することであろう次のスニペット

import java.util.regex.*; 
... 
... 
String str = "[1,2,3,4,5,6,7,8,9,10]"; 
str = str.replaceAll("[(*)])","$1"); 
List<String> items = Arrays.asList(str.split("\\s*,\\s*")); 
関連する問題