1

重複の可能性:
Java javaでArrayListに配列を割り当てる
:この文字列をArrayListに変換する方法は?
文字列をArrayListに変換する方法は?

私はこれを持っていますString

["word1","word2","word3","word4"]

上記のテキストは配列ではなく、GCM(Google Cloud Messaging)通信を介してサーバーから返される文字列です。より具体的には、GCMクラス内にこれがあります:

protected void onMessage(Context context, Intent intent) {

String message = intent.getExtras().getString("cabmate");

   }

Stringメッセージ の値は["word1","word2","word3","word4"]

ListJava内またはJavaで変換する方法はありArrayListますか?

4

3 に答える 3

3
Arrays.asList(String[])

を返しますList<String>

于 2013-01-12T02:19:26.483 に答える
1
String wordString = "[\"word1\", \"word2\", \"word3\", \"word4\"]";
String[] words = wordString.substring(1, wordString.length() - 2).replaceAll("\"", "").split(", ");
List<String> wordList = new ArrayList<>();
Collections.addAll(wordList, words);

これはあなたが望むことをします。", "空白を削除するために意図的に分割したことに注意してください。for .trim()-eachループ内の各文字列を呼び出してから、に追加する方が賢明な場合がありListます。

于 2013-01-12T02:20:10.690 に答える
1

このようなもの:

/*
@invariant The "Word" fields cannot have commas in thier values or the conversion
to a list will cause bad field breaks. CSV data sucks...
*/
public List<String> stringFormatedToStringList(String s) {
  // oneliner for the win:
  return Arrays.asList(s.substring(1,s.length()-1).replaceAll("\"","").split(","));
  // .substring  removes the first an last characters from the string ('[' & ']')
  // .replaceAll removes all quotation marks from the string (replaces with empty string)
  // .split brakes the string into a string array on commas (omitting the commas)
  // Arrays.asList converts the array to a List
}
于 2013-01-12T02:51:50.940 に答える