"Xin chào, Amigo! Lại là tôi đây. Tôi muốn kể cho bạn nghe về một lớp trình bao bọc khá đơn giản khác. Hôm nay chúng ta sẽ nói về Character, trình bao bọc cho char."

"Lớp học này cũng khá đơn giản."

Mã số
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;
 }
}

"Nó có những điều sau đây:"

1) Hàm tạo nhận giá trị bên trong và phương thức charValue trả về giá trị đó.

2) Một phương thức valueOf trả về các đối tượng Ký tự, nhưng lưu trữ các đối tượng có giá trị từ 0 đến 127. Giống như Số nguyên, Ngắn và Byte.

3) các phương thức hashCode() và equals — một lần nữa, không có gì đáng ngạc nhiên ở đây.

"Và nó có rất nhiều phương pháp hữu ích khác (không được trình bày ở trên). Tôi sẽ liệt kê một vài phương pháp cho bạn ở đây:"

Phương pháp Sự miêu tả
boolean isDefined(char)
Ký tự có phải là ký tự Unicode không?
boolean isDigit(char)
Ký tự có phải là một chữ số không?
boolean isISOControl(char)
Nhân vật có phải là nhân vật điều khiển không?
boolean isLetter(char)
Ký tự có phải là một chữ cái không?
boolean isJavaLetterOrDigit()
Ký tự là chữ cái hay chữ số?
boolean isLowerCase(char)
Đây có phải là một chữ thường không?
boolean isUpperCase(char)
Đây có phải là một chữ cái viết hoa?
boolean isSpaceChar(char)
Ký tự có phải là khoảng trắng hay ký tự nào đó tương tự không (có rất nhiều ký tự ẩn)?
boolean isTitleCase(char)
Nhân vật có phải là nhân vật tiêu đề không?

"Cảm ơn, Kim. Tôi nghĩ rằng một số phương pháp này sẽ hữu ích cho tôi."