Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。

Character

Javaでは文字データを扱うクラスとしてCharacter、String、StringBufferの3つのクラスが用意されています。ここではそのうちCharacterについての説明を行います。

Characterクラスのオブジェクトは'A'、'z'など単一文字の値を保持し、一度文字が代入されると変更することはできないという性質を持ちます。基本型変数charとの違いは、Characterオブジェクトには大文字小文字を判別するメソッド、オブジェクト同士を比較するメソッドなど便利なメソッドが用意されていると言う点です。

コンストラクタ

Characterクラスのコンストラクタは一つだけです。コンストラクタの詳細はコンストラクタページを参照してください。

コンストラクタ 説明
Character(char) Characterクラス唯一のコンストラクタです。引数で与えられたchar値を表す値をオブジェクトの中に保持します。
Character aaa = new Character('A');
//char値Aが保持されたオブジェクトaaaの作成

インスタンスメソッド

以下はCharacterクラスに用意されている主なインスタンスメソッドです。インスタンスメソッドとは『オブジェクト.メソッド』の形式で実行される、ある特定のインスタンスに対して使用されるメソッドです。インスタンスメソッドとクラスメソッドの違いはstaticページを参照してください。

戻り型 メソッド 説明
int compareTo
(Character)
メソッドを呼び出した対象のオブジェクトと引数のオブジェクトが保持する値の比較を行います。値が等しい場合は0を返します。メソッド呼び出しオブジェクトの方が大きな値を保持している場合は正の整数を返します。引数に与えられたオブジェクトの方が小さな値を保持している場合は負の整数を返します。
boolean equals(Object) メソッドを呼び出した対象のオブジェクトと引数のオブジェクトの比較を行います。両オブジェクトの値が等しい場合にtrueを返します。
String toString( ) Characterオブジェクトを文字列に変換するメソッドです。引数のオブジェクトは長さ1のオブジェクトの値を保持した文字列に変換されます。
char charValue( ) Characterオブジェクトが保持する値をchar型に変換して返します。

例1

public class ExCharacter {
    public static void main(String[] args) {
        Character X1 = new Character('A');
        Character X2 = new Character('B');

        if (X1.equals(X2)) {
            System.out.println("X1とX2は同じ値です。");
        } else {
            System.out.println("X1とX2は異なる値です。");
        }
    }
}

解説1

CharacterクラスのオブジェクトX1、X2を宣言し、コンストラクタを使用し各オブジェクトに値を代入します。equalsメソッドによりX1とX2のオブジェクトの保持する値が等しいかを調べます。今回は等しくないため、「X1と X2は異なる値です。」を出力します。

実行結果1

D:\JAVA>javac ExCharacter.java

D:\JAVA>java ExCharacter
X1とX2は異なる値です。

D:\JAVA>

クラスメソッド

以下はCharacterクラスに用意されている主なクラスメソッドです。クラスメソッドとはオブジェクトの生成をしなくても『クラス.メソッド』の形式で実行できるメソッドのことを言います。インスタンスメソッドとクラスメソッドの違いはstaticページを参照してください。

戻り型 クラスメソッド 説明
static boolean
static boolean
isUpperCase(char)
isLowerCase(char)
引数のchar型の値が大文字(isUpperCase)か小文字(isLowerCase)かを判断します。値が正しければtrue、そうでなければfalseを返します。
static char
static char
toUpperCase(char)
toLowerCase(char)
引数のchar型の値を大文字(toUpperCase)ないしは小文字(toLowerCase)にして返します。返り値はchar型になります。
static boolean
static boolean
static boolean
isLetter(char)
isDigit(char)
isLetterOrDigit(char)
引数のchar型の値が英字(isLetter)か数字(isDigit)か英字もしくは数字(isLetterOrDigit)かを判断します。値が正しければtrue、そうでなければfalseを返します。
static boolean isWhitespace(char) 引数のchar型の値がJavaプラットフォームの仕様に従ったスペース文字かどうかを判断します。値が正しければtrueをそうでなければfalseを返します。
static boolean isSpaceChar(char) 引数のchar型の値がUnicodeの仕様に従ったスペース文字かどうかを判断します。値が正しければtrueをそうでなければfalseを返します。

例2

public class ExCharacterCM {
    public static void main(String[] args) {
        char X = 'a';
        if(Character.isUpperCase(X)) {  //変数Xの値が大文字か判断
            System.out.println("Xは大文字のAです。");
        } else {
            System.out.println("Xは小文字のaです。");
        }
    }
}

解説2

char型の変数Xに値を代入し、クラスメソッドisUpperCaseを使用し、大文字か小文字かを判別します。変数Xには小文字のaが代入されていますため、「Xは小文字のaです。」を出力します。

実行結果2

D:\JAVA>javac ExCharacterCM.java

D:\JAVA>java ExCharacterCM
Xは小文字のaです。

D:\JAVA>

1Character