Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaのCharacterクラスとは?主要メソッドと使い方を実例付きで解説

JavaのCharacterクラスは、プリミティブ型 char の値をオブジェクトとしてラップ(包み込む)ためのラッパークラスです。Characterクラスのオブジェクトは、char 型の値を1つだけ格納する単一のフィールドを持っています。

コレクションやジェネリクスなど、オブジェクトしか扱えない場面で char の値を使いたい場合に、このクラスが役立ちます。また、文字が英字か数字かを判定するユーティリティメソッドも数多く提供されています。

Characterクラスの主なメソッド

以下に、Characterクラスでよく使われるメソッドを紹介します。

修飾子と型メソッドと説明
static intcharCount(int codePoint)
指定されたコードポイントを表すために必要な char 値の数(1または2)を判定します。
charcharValue()
このCharacterオブジェクトが保持している char 値を返します。
static intcodePointAt(char[] a, int index)
char 配列の指定されたインデックス位置にあるコードポイントを返します。
static intcodePointAt(char[] a, int index, int limit)
limit 未満のインデックスの配列要素のみを対象として、char 配列の指定されたインデックス位置にあるコードポイントを返します。
static intcodePointAt(CharSequence seq, int index)
CharSequence(Stringなど)の指定されたインデックス位置にあるコードポイントを返します。
static intcodePointBefore(char[] a, int index)
char 配列の指定されたインデックスの直前にあるコードポイントを返します。
static booleanisLetter(char ch)
指定された文字が英字(レター)であるかどうかを判定します。
static StringtoString(char c)
指定された char 値を表すStringオブジェクトを返します。

使用例1:isLetter()で文字種を判定する

まずは、isLetter() メソッドを使って、指定した文字が英字かどうかを判定する例を見てみましょう。

import java.lang.*;
public class Demo {
    public static void main(String[] args){
        System.out.println(Character.isLetter('0'));
        System.out.println(Character.isLetter('h'));
        System.out.println(Character.isLetter('K'));
    }
}

実行結果

false
true
true

数字の '0' は英字ではないため false、小文字の 'h' と大文字の 'K' は英字であるため true が出力されます。

使用例2:toString()で文字を文字列に変換する

次に、toString() メソッドを組み合わせた例を見てみましょう。

import java.lang.*;
public class Demo {
    public static void main(String[] args){
        System.out.println(Character.isLetter('0'));
        System.out.println(Character.isLetter('h'));
        System.out.println(Character.isLetter('K'));
        System.out.println(Character.toString('0'));
        System.out.println(Character.toString('H'));
    }
}

実行結果

false
true
true
0
H

toString() を使うことで、char 型の値をそのまま文字列(String)として出力できていることがわかります。

まとめ

Characterクラスを使うことで、char のプリミティブ値をオブジェクトとして扱えるだけでなく、文字種の判定やコードポイントの操作など、文字に関する便利な処理を簡単に実装できます。日常的な文字列処理の中で頻繁に活用されるクラスなので、主要なメソッドの動きを押さえておくと良いでしょう。

  1. Javaの抽象クラスとは?基本ルールと実装例をわかりやすく解説

    Javaの抽象クラスとは宣言に「abstract」キーワードを含むクラスは、抽象クラスと呼ばれます。抽象クラスは、継承によって利用されることを前提とした設計用のクラスであり、オブジェクト指向プログラミングにおける重要な概念の一つです。抽象クラスの主な特徴抽象クラスには、抽象メソッド(本体を持たないメソッド。例:public void get();)が含まれる場合もあれば、含まれない場合もあります。ただし、クラス内に1つでも抽象メソッドが存在する場合、そのクラスは必ず abstract として宣言しなければなりません。abstract として宣言されたクラスは、インスタンス化(newによるオブジ

  2. Javaのfinalクラスとは?継承を禁止する仕組みと使い方を徹底解説

    Javaにおいて、クラスにfinal修飾子を付けて宣言する最大の目的は、そのクラスがサブクラス化(継承)されることを防ぐことです。クラスがfinalとして宣言されると、どのクラスもそのクラスを継承できなくなり、finalクラスの機能や振る舞いを拡張・変更することが不可能になります。finalクラスの基本構文finalクラスの宣言は非常にシンプルです。クラス名の前にfinalキーワードを付けるだけです。public final class Test { // クラスの本体 }このように宣言されたTestクラスに対して、以下のような継承を試みるとコンパイルエラーが発生します。// コンパイ