字符串:不带“new”关键字的对象
Java 字符串确实是对象,但它们是唯一的,因为它们可以在不使用“new”关键字的情况下创建“新”关键字。这就提出了一个问题:为什么?
最初,字符串可能看起来像其他对象一样创建:
Object obj = new Object();
但是,字符串不是以这种方式初始化的:
String str = "Hello World";
字符串文字的实习
理解这一点差异,我们需要深入研究字符串驻留的概念。驻留意味着特定字符串文字(例如“abcd”)的每次出现都引用该字符串的单个实例,而不是每次都创建一个新实例。
在 Java 中,用双引号声明的字符串是被视为文字并自动被保留。这意味着:
String a = "abcd"; String b = "abcd";
将导致:
a == b; // True
使用“new”创建字符串
尽管为字符串启用了实习文字,您仍然可以使用“new”创建字符串关键字:
String a = new String("abcd"); String b = new String("abcd");
但是,在这种情况下,可以有:
a == b; // False
实习的好处
实习字符串文字提供了几个好处:
注意: 始终建议使用 .equals() 方法来比较字符串,即使是内部字符串,因为它会检查内容平等。
以上是为什么不用'new”关键字就可以在 Java 中创建字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!