String and Character Array in Java

iluvthee07 picture iluvthee07 · Aug 20, 2013 · Viewed 10.5k times · Source

I am a student who has just shifted from C++ to Java.

In Java what could be the main reason for defining separate data types for Strings and Char arrays? What is the difference between the two?

Since I have only studied C++, up till now I was under the impression that they are the same thing. Please clarify if possible.

Answer

Ravi K Thapliyal picture Ravi K Thapliyal · Aug 20, 2013

String is immutable. Char array is not. A string is implemented with a char array underneath but every time you try to modify it (like with concatenation, replace etc.) it gives you a new String object.

So, String behaves as a constant Char array but comes with certain syntactic sugar that also makes them very easier to use. For example, the addition + operator has been overloaded as a string concatenation operator as well.