[Ljava.lang.String;@HEX looks like you are stuffing an Array of Strings into a String. So, it calls String[].toString() and stuffs that into your String, like so... System.out.println(new String[] {"string", "array"});.
I'm not real familiar with the choice renderer, so I'm not sure how this would happen when your string gets loaded back in to your model. Maybe someone else has an idea?