为什么String类不可克隆?

时间:2014-03-18 18:53:49

标签: java string clone

为什么String类没有实现Cloneable接口?

例如:(我们有时会写这种类型的代码。)

String s1 = new String("Hello");

String s2 = new String("Hello");

这里s1!= s2;

所以不要这样做,如果我们可以做到:

String s1 = new String("Hello");

String s2 = s1.clone();

这很容易。

3 个答案:

答案 0 :(得分:3)

String类表示不可变的字符串。克隆String没有任何意义。如果您认为需要克隆它,那么您可以重复使用相同的引用并实现相同的效果。

即使您clone s1可以s2s1 != s2仍然是true。它们仍然是对不同对象的引用。

答案 1 :(得分:1)

您可以使用

克隆字符串
String clonedString = new String(stringToClone);

所以

String s1 = new String("Hello");
String s2 = new String(s1);

答案 2 :(得分:0)

这是另一种方式:

String s2 = s1.concat("");