Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

StringBuilder.toString() is printed as empty string in Eclipse-console when too big?

The following returns nothing for me in eclipse, is this expected behaviour ?

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

The code returns without error and the size is well withhin memory capacity unlike in Maximum number of characters stringbuilder can accommodate

Solved: The problem lies in the eclipse console and enabling (Window -> Preferences -> Run/Debug -> Console -> fixed width console) will print the line normally.

like image 520
HopefullyHelpful Avatar asked May 03 '16 08:05

HopefullyHelpful


1 Answers

The problem is probably your console being unable to print such a long string. If you try:

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

instead, it will print what you expect (786432).

like image 59
assylias Avatar answered Sep 21 '22 16:09

assylias