java - StringBuilder.toString() 太大时在 Eclipse 控制台中打印为空字符串?

标签 java eclipse stringbuilder

以下在 eclipse 中对我没有返回任何内容,这是预期的行为吗?

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

代码没有错误地返回并且大小完全在内存容量之内,这与 Maximum number of characters stringbuilder can accommodate 不同。

已解决:问题出在 eclipse 控制台,启用(窗口 -> 首选项 -> 运行/调试 -> 控制台 -> 固定宽度控制台)将正常打印该行。

最佳答案

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

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

相反,it will print what you expect (786432) .

关于java - StringBuilder.toString() 太大时在 Eclipse 控制台中打印为空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36999661/

相关文章:

eclipse - 无法执行操作。计算替代解决方案,可能需要一段时间 STS?

eclipse - 如何记录 Eclipse 插件/OSGi 包的启动?

java - 如何让 Tomcat(等)接受 HTTPS 代理请求?

java - Android,从SDK读取电子邮件

java - 返回类型与 Object.getClass() 不兼容

c# - MySQL 查询的 StringBuilder 空检查

C# 字符串连接最佳实践

c# - 为什么使用 TagBuilder 而不是 StringBuilder?

java - 为什么在 java 的垃圾收集中会发生这种情况

java - 在 Raspberry Pi 上运行 Javafx GUI