Java Character クラス
Character クラスは単一の文字を操作するために使用されます。
Character クラスはオブジェクト内でプリミティブ型のchar値をラップします。
例
char ch = 'a';
//Unicode 文字表現形式
char uniChar = '\u039A';
//文字配列
char[] charArray ={ 'a', 'b', 'c', 'd', 'e' };
しかし、実際の開発プロセスでは、組み込みデータ型ではなくオブジェクトを使用する必要がある場面によく遭遇します。この問題を解決するために、Java言語は組み込みデータ型charに対してラッパークラスCharacterクラスを提供しています。
Characterクラスは文字を操作する一連のメソッドを提供します。Characterのコンストラクタを使用してCharacterクラスのオブジェクトを作成できます。例:
Character ch = new Character('a');
特定の状況では、Javaコンパイラは自動的にCharacterオブジェクトを作成します。
例えば、char型の引数をCharacter型の引数を必要とするメソッドに渡すと、コンパイラは自動的にchar型の引数をCharacterオブジェクトに変換します。この特徴をボクシングと呼び、逆はアンボクシングと呼びます。
例
//プリミティブ文字 'a' は Character オブジェクト ch にボクシングされます。
Character ch = 'a';
//プリミティブ文字 'x' は test メソッドでボクシングされます。
//アンボクシングされた値を 'c' に返します。
char c = test('x');
エスケープシーケンス
前にバックスラッシュ(\)が付いた文字はエスケープ文字を表し、コンパイラにとって特別な意味を持ちます。
以下のリストはJavaのエスケープシーケンスを示しています:
| エスケープシーケンス | 説明 |
|---|---|
| \t | 文中のその場所にタブキーを挿入 |
| \b | 文中のその場所にバックスペースキーを挿入 |
| \n | 文中のその場所で改行 |
| \r | 文中のその場所にキャリッジリターンを挿入 |
| \f | 文中のその場所に改ページを挿入 |
| \' | 文中のその場所に一重引用符を挿入 |
| \" | 文中のその場所に二重引用符を挿入 |
| \\ | 文中のその場所にバックスラッシュを挿入 |
例
出力ステートメントがエスケープシーケンスに遭遇すると、コンパイラはそれを正しく解釈できます。
以下の例では二重引用符をエスケープして出力します:
Test.java ファイルコード:
public class Test {
public static void main(String[] args) {
System.out.println("アクセス\"サンプル!\"");
}
}
上記の例をコンパイルして実行した結果は次のとおりです:
「サンプル」にアクセス!
Character メソッド
以下はCharacterクラスのメソッドです:
| 番号 | メソッドと説明 |
|---|---|
| 1 |
isLetter() 文字かどうか |
| 2 |
isDigit() 数字文字かどうか |
| 3 |
isWhitespace() 空白文字かどうか |
| 4 |
isUpperCase() 大文字かどうか |
| 5 |
isLowerCase() 小文字かどうか |
| 6 |
toUpperCase() 指定された文字の大文字形式 |
| 7 |
toLowerCase() 指定された文字の小文字形式 |
| 8 |
toString() 文字の文字列形式を返します。文字列の長さはわずか1です。 |
メソッドの完全なリストについては、参照すべきjava.lang.Character API仕様。
その他の拡張