StringBuilder.toString() 在 Eclipse-console 中打印为空字符串时,当太大时?

2022-09-02 20:33:38

以下在日食中对我没有任何回报,这是预期的行为吗?

StringBuilder sb = new StringBuilder("");
for(int i = 0; i < 256*256*2*6; i++) {
   sb.append("a");
}
System.out.println(sb.toString());

代码返回时没有错误,大小与内存容量不同,字符串生成器可以容纳的最大字符数

已解决:问题出在 eclipse 控制台上,启用 (Window -> Preferences -> Run/Debug -> Console -> 固定宽度控制台)将正常打印该行。


答案 1

问题可能是您的主机无法打印这么长的字符串。如果您尝试:

System.out.println(sb.toString().length());

相反,它将打印您期望的内容(786432)。


答案 2

推荐