“嗨,阿米戈!又是我。我想告訴你另一個相當簡單的包裝器類。今天我們將討論 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)返回 Character 對象的 valueOf 方法,但緩存值從 0 到 127 的對象。就像 Integer、Short 和 Byte。

3) hashCode() 和 equals 方法——同樣,這裡沒有什麼奇怪的。

“它還有很多其他有用的方法(上面沒有顯示)。我會在這里為你列出一些:”

方法 描述
boolean isDefined(char)
字符是 Unicode 字符嗎?
boolean isDigit(char)
字符是數字嗎?
boolean isISOControl(char)
角色是控制角色嗎?
boolean isLetter(char)
字符是字母嗎?
boolean isJavaLetterOrDigit()
字符是字母還是數字?
boolean isLowerCase(char)
這是小寫字母嗎?
boolean isUpperCase(char)
這是大寫字母嗎?
boolean isSpaceChar(char)
這個字符是空格還是類似的東西(有很多不可見的字符)?
boolean isTitleCase(char)
字符是標題字符嗎?

“謝謝你,金。我認為其中一些方法對我有用。”