字符串对象和字符串文字之间的差异,用 new String("abc") 和 "abc" 定义,分别在于它们的实习和对象创建机制。
字符串文字享有实习的潜在优势,实习是一个将字符串存储在先前遇到的字符串池中的过程。这提高了效率,因为可以通过引用访问字符串,而不是重新创建字符串。
String a = "abc"; String b = "abc"; System.out.println(a == b); // true
这里,a 和 b 引用相同的内部字符串,用 true 表示。
相比之下,使用 new String() 创建的字符串对象被实例化为单独的实体,每个实体都有自己独特的引用。
String c = new String("abc"); String d = new String("abc"); System.out.println(c == d); // false
在这种情况下,== 返回 false,因为 c 和 d 引用不同的字符串对象,即使它们包含相同的字符序列。
为了获得最佳代码,字符串文字是首选。它们更清晰,并允许编译器在可行的情况下通过利用实习来优化您的代码。
以上是字符串对象与字符串文字:有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!