我想要将字符串数组转换为字符串的 Java 代码。
原文由 Princeyesuraj 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想要将字符串数组转换为字符串的 Java 代码。
原文由 Princeyesuraj 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 Apache 公共 StringUtils.join()
。它采用一个数组作为参数(并且还有 Iterable
和 Iterator
参数的重载)并调用 toString()
参数(如果它不在每个元素上)获取每个元素的字符串表示形式。然后将每个元素字符串表示形式连接成一个字符串,如果指定的话,中间有一个分隔符:
String joinedString = StringUtils.join(new Object[]{"a", "b", 1}, "-");
System.out.println(joinedString);
产生:
a-b-1
原文由 krock 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
Java 8+
使用
String.join()
:请注意,
arr
也可以是任何Iterable
(例如列表),而不仅仅是一个数组。如果你有一个
Stream
,你可以使用加入收集器:旧版(Java 7 及更早版本)
或者,如果您只想要一个数组的“调试式”转储:
请注意,如果您 真的是 旧版(Java 1.4 及更早版本),则需要将
StringBuilder
替换为StringBuffer
。安卓
使用
TextUtils.join()
:一般注意事项
您可以根据字符串之间想要的字符(如果有)修改上述所有示例。
不要 使用字符串,只需在循环中用 += 附加到它,就像这里显示的一些答案一样。这会通过屋顶发送 GC,因为您正在创建和丢弃与数组中的项目一样多的字符串对象。对于小型阵列,您可能不会真正注意到差异,但对于大型阵列,它可能会慢几个数量级。