"Hei, Amigo! Det er meg igjen. Jeg vil gjerne fortelle deg om en annen ganske enkel innpakningsklasse. I dag skal vi snakke om Character, innpakningen for røye."

"Denne klassen er også ganske enkel."

Kode
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;
 }
}

"Den har følgende:"

1) En konstruktør som tar den interne verdien og en charValue-metode som returnerer den.

2) En valueOf-metode som returnerer Character-objekter, men cacher objekter med verdier fra 0 til 127. Akkurat som Integer, Short og Byte.

3) hashCode() og lik metoder - igjen, det er ingenting overraskende her.

"Og den har mange andre nyttige metoder (ikke vist ovenfor). Jeg skal liste opp noen for deg her:"

Metode Beskrivelse
boolean isDefined(char)
Er tegnet et Unicode-tegn?
boolean isDigit(char)
Er tegnet et siffer?
boolean isISOControl(char)
Er karakteren en kontrollkarakter?
boolean isLetter(char)
Er tegnet en bokstav?
boolean isJavaLetterOrDigit()
Er tegnet en bokstav eller et siffer?
boolean isLowerCase(char)
Er dette en liten bokstav?
boolean isUpperCase(char)
Er dette en stor bokstav?
boolean isSpaceChar(char)
Er karakteren et mellomrom eller noe lignende (det er mange usynlige tegn)?
boolean isTitleCase(char)
Er karakteren en tittelform?

"Takk, Kim. Jeg tror noen av disse metodene vil være nyttige for meg."