This question already has an answer here:
- What is the difference between “text” and new String(“text”)? 11 answers
Several ways of creating string are shown below. Questions are added following the expressions in the way of comments.
String str = "test";
String str1 = new String(str); //Will it invoke the Constructor of String(String)?
String str2 = new String("test");//Will it invoke the Constructor of String(String)?
String str3 = str; //Which Constructor will it invoke? Or str3 only reference to str and "test" without being constructed?
String str4 = "test";//Which Constructor will it invoke? Or str4 only reference to str and "test" without being constructed?
String strnew = new String("testnew");//Will this expression create "testnew" in String Constant Pool before it creates strnew?
One additional question: Is there any difference bwtween the ways of creating str3 and str4?