The type java.lang.String provides a standardized API and also guarantees that the value of an existing String object cannot be changed; aka it is immutable. There is no need to know how the String class actually stores the string value (and it has, in fact undergone various changes in how its actually implemented over the years - while there is actually a char[] under the hood; that is just one choice of implementation and could be exchanged for anything else without changing the visible functionality of the String class).
Whereas a char[] array is just a low level primitive data structure, the values at any index of the array can be changed at any time. There's also no specialized API provided by char[] (e.g. no subString-method etc). A character array just provides raw storage space with very little semantics enforced.
So, aside the fact that both can represent a sequence of characters, they have not the same purpose and they are certainly no interchangable or the same.