「こんにちは、アミーゴ! 再び私です。別のかなり単純なラッパー クラスについてお話したいと思います。今日は、char のラッパーである Character について話します。」

今回の授業も非常に簡単です。

コード
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 メソッドですが、Integer、Short、Byte と同様に、0 ~ 127 の値を持つオブジェクトをキャッシュします。

3) hashCode() メソッドとquals メソッド — 繰り返しますが、ここでは驚くべきことは何もありません。

「そして、他にも便利なメソッドがたくさんあります (上記には示されていません)。ここではいくつかをリストします。」

方法 説明
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)
その文字はタイトル文字ですか?

「ありがとう、キム。これらの方法のいくつかは私にとって役立つと思います。」