在string中使用new运算符创建两个对象有什么好处。为什么要创建两个对象以及它们的重要性。
String s=new String("abc");
//creates two object
//why 2 object creation is required.
答案 0 :(得分:1)
如果您执行以下测试:
String a = "foo";
String b = new String(a);
System.out.println(a == b);//returns false
所以这意味着a
和b
不是同一个对象(这可能是强制性的,因为使用了new
运算符。)
如果您使用==
检查是否在讨论相同的字符串(因此不是等效的字符串),这将非常有用。< / p>
在这种情况下,这样做的用处很少,特别是因为String
对象是不可变的,因为您可以在manual中阅读:
初始化一个新创建的String对象,使其表示与参数相同的字符序列;换句话说,新创建的字符串是参数字符串的副本。 除非需要明确的原始副本,否则不必使用此构造函数,因为
Strings
是不可变的。
唯一可能有用的情况我认为,如果你要附上某种&#34;消息&#34; String
的方面,其中留言板仅接受不同的对象字符串。如果您在这种情况下想要两次插入相同的消息,则需要复制String
。