我正在尝试确定泛型类对象是否是抽象类的实例。到目前为止,我没有太多运气。下面是我正在尝试使用的代码。 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);
}
答案 0 :(得分:15)
我会尝试:
if(AbstractActivity.class.isAssignableFrom(cls)) {
....
}
答案 1 :(得分:0)
您可以基于类的简单名称。
this.getClass().getSimpleName().equals(LauncherActivity.class.getSimpleName())