String
is a special built-in class of the language. It is for the String
class only in which you should avoid saying
String s = new String("Polish");
Because the literal "Polish"
is already of type String
, and you’re creating an extra unnecessary object. For any other class, saying
CaseInsensitiveString cis = new CaseInsensitiveString("Polish");
is the correct (and only, in this case) thing to do.