HopefullyHelpful
HopefullyHelpful

Reputation: 1819

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.

Upvotes: 18

Views: 6396

Answers (1)

assylias
assylias

Reputation: 328913

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).

Upvotes: 33

Related Questions