使用string中的new运算符创建两个对象有什么好处

时间:2015-04-07 15:28:04

标签: java string

在string中使用new运算符创建两个对象有什么好处。为什么要创建两个对象以及它们的重要性。

String s=new String("abc");

//creates two object 

//why 2 object creation is required.

1 个答案:

答案 0 :(得分:1)

如果您执行以下测试:

String a = "foo";
String b = new String(a);
System.out.println(a == b);//returns false

所以这意味着ab 不是同一个对象(这可能是强制性的,因为使用了new运算符。)

如果您使用==检查是否在讨论相同的字符串(因此不是等效的字符串),这将非常有用。< / p>

在这种情况下,这样做的用处很少,特别是因为String对象是不可变的,因为您可以在manual中阅读:

  

初始化一个新创建的String对象,使其表示与参数相同的字符序列;换句话说,新创建的字符串是参数字符串的副本。 除非需要明确的原始副本,否则不必使用此构造函数,因为Strings是不可变的。

唯一可能有用的情况我认为,如果你要附上某种&#34;消息&#34; String的方面,其中留言板仅接受不同的对象字符串。如果您在这种情况下想要两次插入相同的消息,则需要复制String