【发布时间】:2011-09-05 16:09:06
【问题描述】:
可能重复:
What is the purpose of the expression “new String(…)” in Java?
这两种说法有什么区别:
String a1 = new String("abc");
和
String a2 = "abc";
如果你能说明差异,那就太好了。
【问题讨论】:
标签: java
可能重复:
What is the purpose of the expression “new String(…)” in Java?
这两种说法有什么区别:
String a1 = new String("abc");
和
String a2 = "abc";
如果你能说明差异,那就太好了。
【问题讨论】:
标签: java
第一个是创建一个新的 String 对象;第二个是有效地使用已经存在的一个(它是在加载类文件时创建的。)几乎没有理由使用String(String) 构造函数。
(我说实际上是因为有一种情况:如果您通过调用substring() 来分解一个巨大的String,然后丢弃原来的,则可以使用此构造函数来节省内存从子字符串创建新的Strings。不过,这确实是一个晦涩的案例。)
【讨论】:
Strings,它们是.equal而不是==。