"Здравей, Амиго! Отново съм аз. Бих искал да ти разкажа за друг доста прост клас обвивка. Днес ще говорим за Character, обвивката на char."

„Този ​​клас също е доста прост.“

Код
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, който връща Character обекти, но кешира обекти със стойности от 0 до 127. Точно като Integer, Short и Byte.

3) методи hashCode() и equals — тук отново няма нищо изненадващо.

„И има много други полезни методи (не са показани по-горе). Ще изброя няколко за вас тук:“

Метод Описание
boolean isDefined(char)
Символът Unicode знак ли е?
boolean isDigit(char)
Символът цифра ли е?
boolean isISOControl(char)
Героят контролен ли е?
boolean isLetter(char)
Символът буква ли е?
boolean isJavaLetterOrDigit()
Знакът буква ли е or цифра?
boolean isLowerCase(char)
Това малка буква ли е?
boolean isUpperCase(char)
Това главна буква ли е?
boolean isSpaceChar(char)
Знакът интервал ли е or нещо подобно (има много невидими знаци)?
boolean isTitleCase(char)
Героят заглавен ли е?

„Благодаря ти, Ким. Мисля, че някои от тези методи ще ми бъдат полезни.“