如果我有两个类,分别是SuperType
和SubType
,其中SubType
扩展了SuperType
,是否可以在运行时使用if
检测确切的类型?
我不起作用的解决方案如下:
if (t instanceof SubType)
do SubType stuff
else
do SuperType stuff
最佳答案
您可以例如使用反射API。
if (SubType.class.isInstance(t)){
// do SubType stuff
}else{
// do SuperType stuff
}
此处有更多详细信息:
Class.isInstance(Object)
关于java - 使用if在 super 类型和子类型之间进行选择,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25046122/