字符串对象和字符串文字的区别

问题:

有什么区别?

String str = new String("abc");

String str = "abc";

回答:

当您使用字符串文字时,该字符串可以是interned,但是当您使用new String("...")时,您将获得一个新的字符串对象。
在这个例子中,两个字符串文字引用相同的对象:

String a = "abc"; 
String b = "abc";
System.out.println(a == b);  // true

在这里,创建了两个不同的对象,它们具有不同的引用:

String c = new String("abc");
String d = new String("abc");
System.out.println(c == d);  // false

一般来说,尽可能使用字符串文字符号。它更容易阅读,它使编译器有机会optimize您的代码。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Difference between string object and string literal

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

56 − 46 =