In Java, a string is a sequence of characters that exists as an object of the class java.lang. Strings are widely used in Java programming and are created and manipulated through the String class. Once created, a string using the String class cannot be changed, and any attempted changes will create another string instance. Java strings are immutable, meaning that they are constant and cannot be changed once created. The most direct way to create a string is to write a series of characters in your code that is enclosed in double quotes. Whenever it encounters a string literal in your code, the compiler creates a String object with its value. As with any other object, you can create String objects by using the new keyword and a constructor.
On the other hand, a char is a primitive type that can hold a single character. It is represented by a single character enclosed in single quotes (a, for example). A String, on the other hand, is a reference type, which means it is a full-blown object. The main difference between char and String is that char is a primitive type, while String is an object.