【发布时间】:2011-03-18 21:25:30
【问题描述】:
有什么区别
String str = new String("abc");
和
String str = "abc";
【问题讨论】:
-
简洁答案:字符串对象是一个变量;字符串文字是 constant(引号之间的固定字符序列)。 More details
-
字符串literal是字符串object,但是Stringobject不一定是Stringliteral 。一旦分配给引用变量,就几乎不可能判断给定的 String 对象是否是 literal。
-
这被标记为与它根本不重复的东西的重复。并不是说这是一个很好的问题,但其他人已经正确地将这个列为重复项,并且重复项列表应该以真正重复的内容结尾。
-
我在 Sybex 考试中答错了这个问题,因为我说它是错误的:
All String literals are automatically instantiated into a String object.。考试似乎认为它总是正确的,即使一个文字被实习到一个已经存在的对象上?
标签: java string string-literals