一尘不染

Java如何使用“”初始化字符串?

java

如果String和其他字符串一样是一个类,如何使用双引号将其初始化?


阅读 767

收藏
2020-03-06

共1个答案

一尘不染

Java的设计者决定保留面向对象语言中的原始类型,而不是将所有内容都变成对象,以提高语言的性能。原语存储在调用堆栈中,这需要较少的存储空间,并且操作成本较低。另一方面,对象存储在程序堆中,这需要复杂的内存管理和更多的存储空间。

出于性能原因,Java的String设计为介于基本体和类之间。

例如


String s1 = "Hello";              // String literal
String s2 = "Hello";              // String literal
String s3 = s1;                   // same reference
String s4 = new String("Hello");  // String object
String s5 = new String("Hello");  // String object

注意: 字符串文字存储在公共池中。这有助于共享具有相同内容的字符串的存储,以节省存储空间。String通过new运算符分配的对象存储在中heap,并且没有共享相同内容的存储。

2020-03-06