我有一个字符串列表,我想以相同的方式对每个字符串进行格式化。例如 myListOfStrings = str1, str2, str3,我的格式是 (%s) 我想要这样的东西:
String.format(" (%s) ", myListOfStrings)
会输出
(str1) (str2) (str3)
有没有一种优雅的方式来做到这一点?还是我必须使用字符串生成器并对所有字符串执行 foreach 循环?
原文由 user844541 发布,翻译遵循 CC BY-SA 4.0 许可协议
你可以用 Java 8 做到这一点:
或者:
你喜欢哪一个是个人喜好的问题。
第一个加入
) (
上的项目,给出:一)(二)(三)
然后使用前缀和后缀参数
joining
前缀和(
和后缀)
产生正确的结果。第二种选择将每个项目转换为
( + item + )
然后将它们加入“”。第一个也可能更快一些,因为它只需要为连接和前缀/后缀创建 一个
StringBuilder
实例。第二种选择需要创建 n + 1StringBuilder
实例,一个用于每个元素,一个用于连接“”。