基本クラスがあるとします:
abstract class TheBase {}
class Foo extends TheBase {}
class Bar extends TheBase {}
そして、ベースオブジェクトをこの型に「キャスト」したい:
TheBase obj = getFromSomewhere();
Foo foo = obj.asA(Foo.class);
Bar bar = obj.asA(Bar.class);
asA
次のように定義した例外をスローします。CustomCannotCastException()
これは可能ですか?