3

我有一个字符串数组变量,其值不断变化。从中生成随机数组。这就是我所拥有的:

String trans = Utility.GetColumnValue(testdata[k], "suggest_text_2");

trans值不断变化。我怎样才能将它与以前的值连接起来?我如何打印每个值,trans因为它不断变化?我需要使用任何缓冲区吗?

4

5 回答 5

3

如果你需要中间结果,你可能需要这样的东西:

String yourOldString;
String freshString;

// other code which updates freshString
yourOldString = yourOldString + " " + freshString;

但是,如果您确实需要捕获所有更新但只打印出最终结果,请使用 StringBuilder:

private static final String WHITESPACE = " ";

String yourOldString;
String freshString;
StringBuilder builder = new StringBuilder();
builder.append(yourOldString);

// other code which updates freshString
builder.append(WHITESPACE);
builder.append(freshString);

// once everything is done:
String resultString = builder.toString();
于 2013-04-29T18:11:20.260 回答
1

通常最好使用 StringBuilder 来连接字符串:

String [] array { "fee", "fie", "foe", "fum" };

boolean firstTime = true;
StringBuilder sb = new StringBuilder(50);
for (String word : array) {
    if (firstTime) {
        firstTime = false;
    } else {
        sb.append(' ');
    }
    sb.append(word);
}

String finalResult = sb.toString();
于 2013-04-29T18:10:47.167 回答
1
String a = "foo";
String space = " ";
String b = "bar";
String c = a+space+b;
于 2013-04-29T18:05:11.787 回答
0
System.out.println("string1 "+"string2");
于 2013-04-29T18:04:57.897 回答
0

简单地,

String trans = Utility.GetColumnValue(testdata[k], "suggest_text_2");
StringBuffer concat = new StringBuffer();
concat.append(test).append(" ");

或者,

StringBuffer concat = new StringBuffer();
concat.append(Utility.GetColumnValue(testdata[k], "suggest_text_2")).append(" ");

连接/组合数据集。

for(String s: trans){
  concat.append(s).append(" ");
}

Stringconcatenation(like trans + " ") 比StringBuffer append(). 我强烈建议您使用StringBuilder. 因为在动态String创建组合时StringBuffer,然后使用toString()转换为String.

这是一篇不错的博客文章,可以阅读以了解这两者的性能

于 2017-05-31T16:44:48.743 回答