As an object, a String variable name is not a simple data type—it is a reference; that is, a variable that holds a memory address. Therefore, when you compare two Strings using the == operator; you are not comparing their values, but their computer memory locations.
Three classes provide you with many methods that make working with characters and strings easier:
(1). Character- A class whose instances can hold a single character value. This class also defines methods that can manipulate or inspect single-character data.
(2). String – A class for working with fixed-string data – that is, unchanging data composed of multiple characters.
(3). StringBuilder and StringBuffer – Classes for storing and manipulating changeable data composed of multiple characters.
The Character class is defined in java.lang and is automatically imported into every program you write. Te Characters class inherits from java.lang.Object.