char is a primitive data type while String is a class. If you need to store just 1 character, using a char is always better as it would consume lesser memory also using a String to store 1 character is just unrequired as every String also has a lot of methods that are kind of irrelevant for a single character. So, if it is just 1 character that you need to store, using a char is far better choice for the following reasons.
- String would need to create an object to store the char, while char is a primitive type and no such objects are created.
- Lesser memory and faster processing.
Also, char type can be used with arithmetic operators like + and -.
So, use char when you only need to store a character and don't need any String methods and use String when there is more than 1 character to deal with.
Read here for more details