2
我需要能夠比較Class對象相對於其父類型的層次結構。類對象繼承/協方差
我想要一些方法來比較Class[A]
和Class[B]
。 我需要一些採取類對象的方法,並且當A extends B
需要返回true時顯然我不能使用isInstanceOf
,因爲Class不是協變的。
Class[A].isInstanceOf[Class[B]]
返回false。在這種情況下會返回什麼?
我需要能夠比較Class對象相對於其父類型的層次結構。類對象繼承/協方差
我想要一些方法來比較Class[A]
和Class[B]
。 我需要一些採取類對象的方法,並且當A extends B
需要返回true時顯然我不能使用isInstanceOf
,因爲Class不是協變的。
Class[A].isInstanceOf[Class[B]]
返回false。在這種情況下會返回什麼?
嘗試Class.isAssignableFrom(Class)
:
classOf[A] isAssignableFrom classOf[B]
很好啊,那工作。謝謝:)不知何故,我有印象isAssignableFrom是完全一樣的isInstanceOf,但它不是,它對類對象的作品,正是我所需要的。謝謝! – Guillaume