1. ホーム

[解決済み】Javaで文字列の配列を文字列に変換する。

2022-04-18 20:32:52

質問

文字列の配列を文字列に変換するJavaのコードが欲しいです。

どのように解決するのですか?

Java 8 以上

使用方法 String.join() :

String str = String.join(",", arr);

なお arr は、任意の Iterable (リストなど) だけでなく、配列も含まれます。

もしあなたが Stream を使用すると、ジョイニングコレクタを使用することができます。

Stream.of("a", "b", "c")
      .collect(Collectors.joining(","))

レガシー(Java 7以前)

StringBuilder builder = new StringBuilder();
for(String s : arr) {
    builder.append(s);
}
String str = builder.toString();

また、単に配列のダンプが必要な場合は、quot;debug-style" を使用することもできます。

String str = Arrays.toString(arr);

なお、もしあなたが 本当に レガシー(Java 1.4以前)である場合は、以下のように StringBuilder に変更します。 StringBuffer .

アンドロイド

使用方法 TextUtils.join() :

String str = TextUtils.join(",", arr);

一般的な注意事項

文字列の間にどのような文字を入れるかによって、上記のすべての例を変更することができます。

禁止事項 は文字列を使用し、ここに示されているいくつかの回答のように、ループ内で+=で追加するだけです。これは、配列の項目数と同じだけ文字列オブジェクトを作成し、捨てることになるので、GCが一気に上昇します。小さな配列ではその差に気づかないかもしれませんが、大きな配列では何桁も遅くなる可能性があります。