"Szia, Amigo! Megint én vagyok. Szeretnék mesélni egy másik meglehetősen egyszerű wrapper kurzusról. Ma a Characterről, a char burkolójáról fogunk beszélni."

– Ez az osztály is meglehetősen egyszerű.

Kód
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;
 }
}

"A következők vannak benne:

1) Egy konstruktor, amely felveszi a belső értéket, és egy charValue metódus, amely visszaadja.

2) Egy valueOf metódus, amely karakterobjektumokat ad vissza, de a 0 és 127 közötti értékű objektumokat gyorsítótárazza. Csakúgy, mint az Integer, Short és Byte.

3) hashCode() és equals metódusok – ismét nincs itt semmi meglepő.

"És sok más hasznos módszert is tartalmaz (nem látható fent). Itt felsorolok néhányat:"

Módszer Leírás
boolean isDefined(char)
A karakter Unicode karakter?
boolean isDigit(char)
A karakter számjegy?
boolean isISOControl(char)
A karakter irányító karakter?
boolean isLetter(char)
A karakter betű?
boolean isJavaLetterOrDigit()
A karakter betű vagy számjegy?
boolean isLowerCase(char)
Ez kisbetű?
boolean isUpperCase(char)
Ez nagybetű?
boolean isSpaceChar(char)
A karakter szóköz vagy valami hasonló (sok láthatatlan karakter van)?
boolean isTitleCase(char)
A karakter címszereplő?

– Köszönöm, Kim. Azt hiszem, ezek a módszerek hasznosak lesznek számomra.