"Merhaba Amigo! Yine ben. Size oldukça basit başka bir sarmalayıcı sınıfından bahsetmek istiyorum. Bugün char için sarmalayıcı olan Character hakkında konuşacağız."

"Bu sınıf da oldukça basit."

kod
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şağıdakilere sahiptir:"

1) Dahili değeri alan bir yapıcı ve onu döndüren bir charValue yöntemi.

2) Character nesnelerini döndüren, ancak 0 ile 127 arasında değerlere sahip nesneleri önbelleğe alan bir valueOf yöntemi. Tıpkı Integer, Short ve Byte gibi.

3) hashCode() ve equals yöntemleri — yine, burada şaşırtıcı bir şey yok.

"Ve başka pek çok yararlı yöntemi var (yukarıda gösterilmemiştir). Burada sizin için birkaç tanesini listeleyeceğim:"

Yöntem Tanım
boolean isDefined(char)
Karakter bir Unicode karakter mi?
boolean isDigit(char)
Karakter bir rakam mı?
boolean isISOControl(char)
Karakter bir kontrol karakteri mi?
boolean isLetter(char)
Karakter bir harf mi?
boolean isJavaLetterOrDigit()
Karakter bir harf mi yoksa rakam mı?
boolean isLowerCase(char)
Bu küçük harf mi?
boolean isUpperCase(char)
Bu bir büyük harf mi?
boolean isSpaceChar(char)
Karakter bir boşluk mu yoksa benzer bir şey mi (pek çok görünmez karakter var)?
boolean isTitleCase(char)
Karakter bir başlık karakteri mi?

"Teşekkürler Kim. Bu yöntemlerden bazılarının benim için yararlı olacağını düşünüyorum."