"हाय, अमिगो! मी पुन्हा आहे. मी तुम्हाला आणखी एका साध्या रॅपर क्लासबद्दल सांगू इच्छितो. आज आपण कॅरेक्टर, चारसाठी रॅपरबद्दल बोलणार आहोत."

"हा वर्गही अगदी सोपा आहे."

कोड
class Character
{
 private final char value;

 Character(char value)
 {
  this.value = value;
 }

 public char charValue()
 {
  return value;
 }

 static final Character cache[] = new Character[127 + 1];

 public static Character valueOf(char c)
 {
  if (c <= 127)
   return cache[(int)c];

  return new Character(c);
 }

 public int hashCode()
 {
  return (int)value;
 }

 public boolean equals(Object obj)
 {
  if (obj instanceof Character)
  {
   return value == ((Character)obj).charValue();
  }
  return false;
 }
}

"त्यात खालील गोष्टी आहेत:"

1) एक कन्स्ट्रक्टर जो अंतर्गत मूल्य घेतो आणि एक charValue पद्धत जी ते परत करते.

2) एक valueOf पद्धत जी कॅरेक्टर ऑब्जेक्ट्स रिटर्न करते, परंतु 0 ते 127 मूल्यांसह ऑब्जेक्ट्स कॅश करते. अगदी पूर्णांक, शॉर्ट आणि बाइट प्रमाणे.

3) हॅशकोड() आणि समान पद्धती - पुन्हा, येथे आश्चर्यकारक काहीही नाही.

"आणि त्यात इतर अनेक उपयुक्त पद्धती आहेत (वर दाखवलेल्या नाहीत). मी तुमच्यासाठी काही येथे सूचीबद्ध करेन:"

पद्धत वर्णन
boolean isDefined(char)
वर्ण युनिकोड वर्ण आहे का?
boolean isDigit(char)
अक्षर अंक आहे का?
boolean isISOControl(char)
वर्ण एक नियंत्रण वर्ण आहे?
boolean isLetter(char)
अक्षर अक्षर आहे का?
boolean isJavaLetterOrDigit()
अक्षर अक्षर आहे की अंक?
boolean isLowerCase(char)
हे लोअरकेस अक्षर आहे का?
boolean isUpperCase(char)
हे मोठे अक्षर आहे का?
boolean isSpaceChar(char)
कॅरेक्टर स्पेस आहे की तत्सम काहीतरी आहे (त्यात बरेच अदृश्य पात्र आहेत)?
boolean isTitleCase(char)
पात्र हे टायटलकेस कॅरेक्टर आहे का?

"धन्यवाद, किम. मला वाटते की यापैकी काही पद्धती माझ्यासाठी उपयुक्त ठरतील."