繁体   English   中英

确定Class对象是否是抽象类的实例

[英]determining if a Class object is an instance of an abstract class

我正在尝试确定泛型类对象是否是抽象类的实例。 到目前为止,我没有太多运气。 下面是我正在尝试使用的代码。 AbstractActivity是我扩展我的一些活动的父类的名称。

public void startActivity(Intent intent)
{
    ComponentName name = intent.getComponent();

    if(name != null)
    {
        Class<?> cls = null;
        try {
            cls = Class.forName(name.getClassName());

            if(cls.isInstance(AbstractActivity));
            {
                //do something
            }
            else
            {
                super.startActivity(intent);
            }

        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    super.startActivity(intent);
}

我会尝试:

if(AbstractActivity.class.isAssignableFrom(cls)) {
    ....
}

您可以基于类的简单名称。

this.getClass().getSimpleName().equals(LauncherActivity.class.getSimpleName())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM