Java には、キャスト用のさまざまなオプションがあります。そのうちの 1 つは、java.lang.ClassクラスのCast()メソッドです。指定されたオブジェクトをこのクラスのオブジェクトにキャストするために使用されます。このメソッドは、オブジェクトとしてキャストされた後、オブジェクトを返します。
Java クラス Cast() メソッドの構文
Java Class Cast()メソッドは、このClassオブジェクトによって表されるクラスまたはインターフェイスにオブジェクトをキャストします。ドキュメントでは、cast()メソッドについて次のように説明されています。
public T[] cast(Object obj),
ここで、obj はキャストされるオブジェクトです。Cast()メソッドは、キャスト後のオブジェクトを返します。objがnull の場合は null を返します。オブジェクトが null ではなく、型 T に割り当てられない場合、メソッドはClassCastExceptionをスローします。通常、クラス メソッド ( cast()やisInstance()など) はジェネリック型と組み合わせて使用されます。
Java クラス Cast() メソッドのコード例
以下に、 class.cast()メソッドの動作の簡単なデモンストレーションを示します。
class Parent {
public static void print() {
System.out.println("print Class Parent...");
}
}
class Child extends Parent {
public static void print() {
System.out.println("print Class Child...");
}
}
public class CDemo {
public static void main(String[] args) {
//Here we have Class cast() method
//demonstration. Let’s have parent and child classes
// and make casting operation
Object myObject = new Parent();
Child myChild = new Child();
myChild.print();
// casts object
Object a = Parent.class.cast(myChild);
System.out.println(myObject.getClass());
System.out.println(myChild.getClass());
System.out.println(a.getClass());
}
}
ここでの出力は次のとおりです。
print クラス 子... クラス 親クラス 子クラス 子
GO TO FULL VERSION