What is difference between String and new String() in java?