"ஹாய், அமிகோ! மீண்டும் நான் தான். நான் உங்களுக்கு மற்றொரு எளிமையான ரேப்பர் வகுப்பைப் பற்றி சொல்ல விரும்புகிறேன். இன்று நாம் கேரக்டரைப் பற்றி பேசுவோம், கரிக்கான ரேப்பர்."

"இந்த வகுப்பும் மிகவும் எளிமையானது."

குறியீடு
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) எழுத்துப் பொருள்களை வழங்கும் ஒரு மதிப்பு முறை, ஆனால் 0 முதல் 127 வரையிலான மதிப்புகளைக் கொண்ட பொருள்களைத் தேக்ககப்படுத்துகிறது. முழு எண், குறுகிய மற்றும் பைட் போன்றது.

3) hashCode() மற்றும் சமமான முறைகள் — மீண்டும், இங்கு ஆச்சரியப்பட ஒன்றுமில்லை.

"மேலும் இது பல பயனுள்ள முறைகளைக் கொண்டுள்ளது (மேலே காட்டப்படவில்லை). உங்களுக்காக சிலவற்றை இங்கே பட்டியலிடுகிறேன்:"

முறை விளக்கம்
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)
கேரக்டர் ஒரு டைட்டில் கேரக்டரா?

"நன்றி, கிம். இந்த முறைகளில் சில எனக்கு பயனுள்ளதாக இருக்கும் என்று நினைக்கிறேன்."