「こんにちは、アミーゴ! 再び私です。別のかなり単純なラッパー クラスについてお話したいと思います。今日は、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 メソッド — 繰り返しますが、ここでは驚くべきことは何もありません。
「そして、他にも便利なメソッドがたくさんあります (上記には示されていません)。ここではいくつかをリストします。」
方法 | 説明 |
---|---|
|
文字は Unicode 文字ですか? |
|
文字は数字ですか? |
|
そのキャラクターはコントロールキャラクターですか? |
|
キャラクターは手紙ですか? |
|
その文字は文字ですか、それとも数字ですか? |
|
これは小文字ですか? |
|
これは大文字ですか? |
|
文字はスペースかそれに似たものですか (目に見えない文字がたくさんあります)。 |
|
その文字はタイトル文字ですか? |
「ありがとう、キム。これらの方法のいくつかは私にとって役立つと思います。」
GO TO FULL VERSION