-
プリミティブ型のキャスティング: プリミティブ型のキャスティングは、値の範囲やデータ型を変更する場合に使用されます。以下に、int型からdouble型へのキャスティングの例を示します。
int num = 10; double decimalNum = (double) num;
上記の例では、
num
の値をdouble
型にキャストしてdecimalNum
に代入しています。 -
オブジェクト型のキャスティング: オブジェクト型のキャスティングは、オブジェクトの型を変更する場合に使用されます。以下に、スーパークラスからサブクラスへのキャストの例を示します。
SuperClass superClass = new SubClass(); SubClass subClass = (SubClass) superClass;
上記の例では、
SuperClass
型のオブジェクトを作成し、それをSubClass
型にキャストしています。キャストが成功するためには、元のオブジェクトがキャスト先の型と互換性がある必要があります。 -
instanceof演算子を使用したキャストのチェック: キャストを行う前に、
instanceof
演算子を使用してオブジェクトの型をチェックすることができます。以下に例を示します。if (object instanceof MyClass) { MyClass myObject = (MyClass) object; // キャスト後の処理 }
上記の例では、
object
がMyClass
型である場合にのみキャストを行います。
これらはJavaでのキャスティングの一般的な方法のいくつかです。キャスティングは、データ型の変換やオブジェクトの型の変更など、さまざまなシナリオで役立ちます。ただし、キャストを誤った型に行うと、実行時エラーが発生する可能性があるため、注意が必要です。