7

のようにコンマで区切られたすべての文stringsを 1 つに結合したいセットがあります。String(*.csv)

これが私との関係です:

String dataContainer;

for(String tempString:setInput){
     String finalString = "," + tempString + "," ;   
}

これは私にはうまくいきません:(
しかし、セットの例ではうまくいくはずです:

Set<String> setInput = new TreeSet();
setInput.add("Dog");
setInput.add("Cat");
setInput.add("Mouse");

文字列を生成するには:

,Dog,,Cat,,Mouse,
4

7 に答える 7

17

使ったほうがいいStringBuilder

 StringBuilder sb= new StringBuilder();

for(String tempString:setInput){
   sb.append(",").append(tempString).append(",");   
 }
于 2013-09-11T11:59:49.083 に答える
7

または、Java 8 ストリームを使用できます

String joined = Stream.of("A", "B", "C").collect(Collectors.joining("delimiter", "prefix", "suffix"));

または StringJoiner クラスを使用します

Directly Use StringJoiner class

または StringBuilder クラス

new StringBuilder().add("A").add("B").toString()
于 2017-07-26T22:34:33.253 に答える
6

あなたがしている のはintializing、毎回結果の文字列です。

実際に、あなたがしたい

String finalString ="";
for(String tempString:setInput){
      finalString += "," + tempString + "," ;   
}

しかし、上記のアプローチでは複数のString作成が発生します。

しかし、私はに行くことをお勧めしStringBuilderます。

 StringBuilder finalStringb =new StringBuilder();
    for(String tempString:setInput){
          finalStringb.append(",").append(tempString).append(",") ;   
    }

String finalS = finalStringb.toString();
于 2013-09-11T11:57:56.737 に答える
1

org.apache.commons.lang.StringUtils.join() は便利です

于 2017-03-22T16:33:52.787 に答える