【发布时间】:2019-09-01 16:34:57
【问题描述】:
在Java中创建String时,这两者有什么区别:
String test = new String();
test = "foo";
和
String test = "foo";
什么时候需要使用关键字new?还是这两个基本相同,都创建了一个新的String对象?
【问题讨论】:
-
字符串测试 = 新字符串(); -> 创建一个新的 String 实例,您将永远不会再使用它,因为您将变量 test 重新分配给“foo”,这意味着分配 '= new String()' 是没有意义的
-
@ernest_k 这并不是该线程的真正副本。他在他的一个示例中进行了两次单独的分配,而不是使用 String 的重载构造函数进行分配
-
@Stultuske 对。我已经重新打开了。
-
如果您是初学者,请不要先查看 stackoverflow。查看 Oracle 的 Java 教程:docs.oracle.com/javase/tutorial/java/data/strings.html
-
这样的问题总能磨练你的基础:)