在任何场景中使用String()构造函数是否对字符串文字有益?使用字符串文字可以重用现有对象,那么为什么我们需要公共构造函数呢?有没有真正的世界?例如,两个文字都指向同一个对象.
String name1 = "name";//new String("name") creates a new object.
String name2 = "name";
Run Code Online (Sandbox Code Playgroud)
Mic*_*rdt 18
其中一个例子,其中的构造函数有一个有用的目的:通过创建字符串String.substring()共享底层char[]的String他们所创造.因此,如果您String的长度为10.000.000(占用20MB内存)并将其前5个字符作为子字符串然后丢弃原始String字符串,则该子字符串仍将使20MB对象无法进行垃圾回收.在它上面使用String构造函数可以避免这种情况,因为它只复制了String实例实际使用的底层char数组的一部分.
当然,如果你创建和使用相同的很多子串String,特别是如果它们重叠,那么你非常希望它们共享底层char[],并且使用构造函数会适得其反.
| 归档时间: |
|
| 查看次数: |
307 次 |
| 最近记录: |