#navi_header|Java| Classのキャストなどで便利そうな Class のインスタンスメソッド3選。 - Class#isAssignableFrom() : instanceof 演算子と似ているが、isAssignableFrom()のメリットは、検査対象のClassを例えばメソッドの引数などから動的に取ってこれる点。 someMethod(Class superClazz, Object testee) { if (testee instanceof superClazz) { というのはsyntax errorで書けないが、 someMethod(Class superClazz, Object testee) { if (superClazz.isAssignableFrom(testee.getClass()) { と書くことができるようになる。 - Class#cast() : これもキャストする型を動的に決められるのがメリット。 someMethod(Class castClazz, Object target) { Object o = (castClazz) target; というのはsyntax errorで書けないが、 someMethod(Class castClazz, Object target) { Object o = castClazz.cast(target); と書くことができるようになる。 - Class#asSubclass() : ユースケースが不明。 最後のがユースケース不明でちょっと使い道が分からなかったけど、とりあえず3種類、テストケースで使い方を練習してみました: - https://github.com/msakamoto-sf/javasnack/commit/e0ea0d22284d4cc6f357ec779aca3ebb6a532ed1 #navi_footer|Java|