Because what you're doing is basically the equivalent of:
That will indirectly lead to it using the Object.toString() implementation for the char which gives you [C@hashcode instead of an equivalent String. I'm not sure why exactly the compiler doesn't use append(char) instead of append(Object) but I'm sure someone else will chime in with that.
Joined: Apr 17, 2005
okay got it, thanks. I just saw the bytecode and confirmed it. Should've have done that prior to posting here, but anyway.