【发布时间】:2020-01-15 15:26:30
【问题描述】:
如何通过在每行末尾附加 '\n' 将数百万个值的列表加入单个字符串 -
输入数据在列表中:
list[0] = And the good south wind still blew behind,
list[1] = But no sweet bird did follow,
list[2] = Nor any day for food or play
list[3] = Came to the mariners' hollo!
下面的代码通过在末尾附加换行符将列表连接成一个字符串 -
String joinedStr = list.collect(Collectors.joining("\n", "{", "}"));
但是,问题是如果列表包含数百万个数据,则加入失败。我的猜测是 String 对象由于尺寸大而无法处理数百万行。
请提出建议。
【问题讨论】:
-
您遇到什么错误或异常?如果与垃圾收集器有关,请尝试为 VM 提供更多内存。
-
不是字符串,是你的内存不够。数百万个字符串需要大量空间
标签: java join java-8 java-stream