Question

Why String class is not implementing Cloneable interface?

For example: (We write this type of code sometimes.)

String s1 = new String("Hello");

String s2 = new String("Hello");

Here s1!=s2;

So instead of doing this , if we could have done:

String s1 = new String("Hello");

String s2 = s1.clone();

This could be easy.

Was it helpful?

Solution

The String class represents an immutable string. There would be no purpose to cloning a String. If you feel that you need to clone it, then you can just reuse the same reference and achieve the same effect.

Even if you could clone s1 as s2, then s1 != s2 would still be true. They'd still be references to distinct objects.

OTHER TIPS

You can clone string with

String clonedString = new String(stringToClone);

so

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

Here's another way:

String s2 = s1.concat("");
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top