我有一个字符串数组变量,其值不断变化。从中生成随机数组。这就是我所拥有的:
String trans = Utility.GetColumnValue(testdata[k], "suggest_text_2");
trans
值不断变化。我怎样才能将它与以前的值连接起来?我如何打印每个值,trans
因为它不断变化?我需要使用任何缓冲区吗?
我有一个字符串数组变量,其值不断变化。从中生成随机数组。这就是我所拥有的:
String trans = Utility.GetColumnValue(testdata[k], "suggest_text_2");
trans
值不断变化。我怎样才能将它与以前的值连接起来?我如何打印每个值,trans
因为它不断变化?我需要使用任何缓冲区吗?
如果你需要中间结果,你可能需要这样的东西:
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();
通常最好使用 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();
String a = "foo";
String space = " ";
String b = "bar";
String c = a+space+b;
System.out.println("string1 "+"string2");
简单地,
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(" ");
}
String
concatenation(like trans + " "
) 比StringBuffer
append()
. 我强烈建议您使用StringBuilder
. 因为在动态String
创建组合时StringBuffer
,然后使用toString()
转换为String
.
这是一篇不错的博客文章,可以阅读以了解这两者的性能。