Yes there is a difference. In case of str = "abc" we are creating an anonymous object and assigning it the reference str. But in case of str = new String("abc"), we are actua...
class A {..String s1="abc";String s2=new String "abc";..}The first line creates (sort of, see below) the String "abc" in the String pool, and s1 points to it. The second ...