I have two statements:
String aStr = new String("ABC");
String bStr = "ABC";
I read in book that in first statement JVM creates two bjects and one reference variable, whereas second statement creates one reference variable and one object.
How is that? When I say new String(“ABC”) then It’s pretty clear that object is created.
Now my question is that for “ABC” value to we do create another object?
Please clarify a bit more here.
Thank you
You will end up with two Strings.
1) the literal “ABC”, used to construct
aStrand assigned tobStr. The compiler makes sure that this is the same single instance.2) a newly constructed String
aStr(because you forced it to be new’ed, which is really pretty much non-sensical)