この章では、主に Java Character クラスと Character クラスの使用法を紹介します。
文字を使用する場合、通常は組み込みデータ型 char を使用します。
char ch = 'a'; // Unicode for uppercase Greek omega character char uniChar = 'u039A'; // 字符数组char[] charArray = { 'a', 'b', 'c', 'd', 'e' };
ただし、実際の開発プロセスでは、組み込みデータ型の代わりにオブジェクトを使用する必要がある状況によく遭遇します。この問題を解決するために、Java 言語では、組み込みデータ型 char のラッパー クラス Character クラスが提供されています。
Character クラスの使用法: Character クラスは、文字を操作するための一連のメソッドを提供します。Character コンストラクターを使用して、たとえば次のように Character クラス オブジェクトを作成できます。
Character ch = new Character('a');
場合によっては、Java コンパイラが Character オブジェクトを自動的に作成します。
たとえば、char 型パラメータが Character 型パラメータを必要とする文字に渡されると、コンパイラは自動的に char 型パラメータを Character オブジェクトに変換します。 この機能はボックス化と呼ばれ、その逆はアンボックス化と呼ばれます。
// Here following primitive char 'a' // is boxed into the Character object ch Character ch = 'a'; // Here primitive 'x' is boxed for method test, // return is unboxed to char 'c' char c = test('x');
バックスラッシュ () が前にある文字はエスケープ文字を表し、コンパイラにとって特別な意味を持ちます。
次のリストは、Java のエスケープ シーケンスを示しています。
エスケープシーケンス | 説明する |
---|---|
t | テキストのここにタブキーを挿入します |
b | テキストのここに戻るキーを挿入します |
n | テキストのこの位置で改行 |
r | テキストのここに改行を挿入します |
f | テキスト内のその位置に改ページを挿入します |
' | テキストのここに一重引用符を挿入します |
「 | テキストのここに二重引用符を挿入します |
\ | テキスト内のこの場所にバックスラッシュを挿入します |
print ステートメントでエスケープ シーケンスが検出されると、コンパイラーはそれを正しく解釈します。
public class Test { public static void main(String args[]) { System.out.println("She said "Hello!" to me."); } }
上記の例のコンパイルと実行結果は次のとおりです。
She said "Hello!" to me.
Character クラスのメソッドは次のとおりです。
シリアルナンバー | 方法と説明 |
---|---|
1 | isLetter() 文字かどうか |
2 | isDigit() 数字かどうか |
3 | isWhitespace() スペースかどうか |
4 | isUpperCase() 大文字ですか? |
5 | isLowerCase() 小文字かどうか |
6 | toUpperCase() は文字の大文字形式を指定します |
7 | toLowerCase() は文字の小文字形式を指定します |
8 | toString() は文字列形式を返します。文字列の長さは 1 だけです。 |
public static boolean isUpperCase(char ch): 指定された文字が大文字かどうかを判断します。
public static boolean isLowerCase(char ch): 指定された文字が小文字かどうかを判断します。
public static boolean isDigit(char ch): 指定された文字が数字であるかどうかを判断します。
これら 3 つの文のブール値は、これら 3 つのメソッドを使用した後の戻り値がブール型であることを表します。
public class Java { public static void main(String[] args) { Character ch = new Character('X'); System.out.println(Character.isUpperCase(ch)); //Character.isUpperCase(ch) 用于判断括号里的字母是否为大写 System.out.println(Character.isLowerCase(ch)); //Character.isLowerCase(ch) 用于判断括号里的字母是否为小写 System.out.println(Character.isDigit(ch)); //Character.isDigit(ch) 用于判断括号里的内容是否为数字 } }
実行結果は次のとおりです。
true false false
メソッドの完全なリストについては、java.lang.Character API 仕様を参照してください。