when to go for new string instead of string literal in java : <p>I know when we use <code>String s = new String("abc");</code> JVM will create the object in heap and when we use <code>String s = "abc";</code> the object gets created in String constant pool.</p>

<p>IMO, using <code>String s = "abc";</code> serves our purpose. In which case we have to go for <code>new String("abc");</code></p>
