Javaにおけるキャスティング方法と例


  1. プリミティブ型のキャスティング: プリミティブ型のキャスティングは、値の範囲やデータ型を変更する場合に使用されます。以下に、int型からdouble型へのキャスティングの例を示します。

    int num = 10;
    double decimalNum = (double) num;

    上記の例では、numの値をdouble型にキャストしてdecimalNumに代入しています。

  2. オブジェクト型のキャスティング: オブジェクト型のキャスティングは、オブジェクトの型を変更する場合に使用されます。以下に、スーパークラスからサブクラスへのキャストの例を示します。

    SuperClass superClass = new SubClass();
    SubClass subClass = (SubClass) superClass;

    上記の例では、SuperClass型のオブジェクトを作成し、それをSubClass型にキャストしています。キャストが成功するためには、元のオブジェクトがキャスト先の型と互換性がある必要があります。

  3. instanceof演算子を使用したキャストのチェック: キャストを行う前に、instanceof演算子を使用してオブジェクトの型をチェックすることができます。以下に例を示します。

    if (object instanceof MyClass) {
       MyClass myObject = (MyClass) object;
       // キャスト後の処理
    }

    上記の例では、objectMyClass型である場合にのみキャストを行います。

これらはJavaでのキャスティングの一般的な方法のいくつかです。キャスティングは、データ型の変換やオブジェクトの型の変更など、さまざまなシナリオで役立ちます。ただし、キャストを誤った型に行うと、実行時エラーが発生する可能性があるため、注意が必要です。