基本上,我得到了这个:
(path是一个字符串数组)
String writer = "";
for (int i = 0; i < path.length; i++) {
writer += path[i] + "{";
}
writer += string;
for (int i = 0; i < path.length; i++) {
writer += "}";
}
Run Code Online (Sandbox Code Playgroud)
但这看起来很丑陋而效率低下.有没有办法将它恰当地组合成一个for-loop?
这是一个没有for-loop 的解决方案,StringBuilder而是使用而不是+=-constructs,这会导致内存和性能问题.
StringBuilder firstPart = new StringBuilder();
StringBuilder lastPart = new StringBuilder();
Arrays.stream(path)
.forEach(elem -> {
firstPart.append(elem);
firstPart.append("{");
lastPart.append("}");
});
firstPart.append(string);
firstPart.append(lastPart.toString());
String writer = firstPart.toString();
Run Code Online (Sandbox Code Playgroud)