We can create String object using new operator like any normal java class or we can use double quotes to create a String object. There are several constructors available in String class to get String from char array, byte array, StringBuffer and StringBuilder.
example:
String s1="Hello java";
String s2 = new String ("Hello java");
When we create a String using double
quotes, JVM looks in the String pool to find if any other String is stored with
same value. If found, it just returns the reference to that String object else
it creates a new String object with given value and stores it in the String
pool.
When we use new operator, JVM creates the String object but don’t store it into
the String Pool. We can use intern() method to store the String object into
String pool or return the reference if there is already a String with equal
value present in the pool.