1

我正在创建一个刽子手游戏,长话短说,除了像下面那样做之外,是否有一种捷径可以将这些单独的字符串数组组合成一个字符串?

String after = under[0] + under[1] + under[2] + under[3] + under[4] + under[5] + under[6] + under[7] + under[8] + under[9] + under[10] + under[11] + under[12] + under[13] + under[14] + under[15] + under[16] + under[17] + under[18] + under[19] + under[20] + under[21];
4

6 回答 6

2

您可以使用循环来执行此操作,如下所示:

StringBuilder sb = new StringBuilder();
for (int i = 0 ; i != 22 ; i++) {
    sb.append(under[i]);
}
String after = sb.toString();

您还可以将字符串添加到最初为空的字符串中,但这是次优的,因为所有中间字符串都在循环中分配和释放。

于 2013-04-04T13:53:41.157 回答
1

总是使用循环来执行这样的重复操作。

此外,建议使用StringBuilder而不是String. JAVA 中的字符串是不可变的。

StringBuilder sb = new StringBuilder();
int nCount = 22;

for (int iCnt = 0 ; iCnt <= nCount ; iCnt++) {
    sb.append(under[iCnt]);
}
String after = sb.toString();
于 2013-04-04T13:54:40.530 回答
0

尝试一下:

String after = "";

for (int i=0; i<22; i++)
    after += under[i];
于 2013-04-04T13:54:36.643 回答
0

这段代码并不短,但也不那么乏味:

StringBuilder afterBldr = new StringBuilder();
for (String underEl : under) {
     afterBldr.append(underEl);
}
String after = afterBldr.toString();
于 2013-04-04T13:55:26.913 回答
0

如果您有权访问Apache Commons库,请使用该join()方法,这是最好的解决方案:

String str = StringUtils.join(under, "");
于 2013-04-04T13:56:22.683 回答
0

Apache Joiner可以在这里使用。

Joiner.on("").join(names)
于 2013-04-04T13:56:35.173 回答