【发布时间】:2018-06-27 07:53:05
【问题描述】:
有什么区别
String name1 = "some name";
和
String name1 = new String("some name")
哪个更好用?
谢谢
【问题讨论】:
-
最初,这感觉像是基于意见的。除了这里只有一种观点是有意义的。
-
使用第一个。第二个将创建两个字符串(一个用于文字,然后另一个带有
new String)。 -
来自
String(String)构造函数的JavaDoc:“除非需要原始的显式副本,否则不需要使用此构造函数,因为字符串是不可变的。”在非常非常罕见的情况下它很有用,您可能不会遇到它们。第一种形式更短、更快、更易读 - 除非你知道你想要另一种,否则只使用那个。 -
@Stultuske 因为这是合法的场景非常具体和罕见,如果 OP 出现在其中一个中,OP 会这么说......并且没有就此事提出任何问题OP 会知道这一切的。不知道什么是合法用途,就不可能合法地使用它。
标签: java