Java String 对象:
一般来说,答案是两个,一个是"abc",一个是指向"abc"的引用对象s。
如果答案是正确的,那么下面的表达式会不会创建四个对象呢?
如果String对象"abc"不存在内存中,那么会创建一个String对象"abc"和两个指向"abc"的对象;
如果String对象"abc"存在内存中,那么只创建两个指向"abc"的对象。
String a = new String("abc");
创建了几个String Object?
一般来说,答案是两个,一个是"abc",一个是指向"abc"的引用对象s。
如果答案是正确的,那么下面的表达式会不会创建四个对象呢?
String a = new String("abc");
String b = new String("abc");
其实不然,
如果String对象"abc"不存在内存中,那么会创建一个String对象"abc"和两个指向"abc"的对象;
如果String对象"abc"存在内存中,那么只创建两个指向"abc"的对象。