Everything written in this post is related to Java 6 only.
String constructor was added in Java 6 in order to facilitate conversion from
String using a provided
It looks harmless from the first sight, but it has a potential problem inside: it makes a temporary “defensive” copy of a provided
StringCoding.decode(Charset cs, byte ba, int off, int len) method. It may be needed in a very few applications, but most applications will pay unfair price for this method call.