Java 是否可以将泛型类型转换为类类型?
在某些情况下,我将一个泛型类类型作为片段,并希望从中获得类的类型。所以我可以给它的班级成员打电话Java 是否可以将泛型类型转换为类类型?,java,android,Java,Android,在某些情况下,我将一个泛型类类型作为片段,并希望从中获得类的类型。所以我可以给它的班级成员打电话 class A extends BaseFragment { public void getInstance(Bundle bundle){ //do something }; } class B extends BaseFragments{ public void performSomeAction(){ pushFragment(A, bundle); } } cl
class A extends BaseFragment {
public void getInstance(Bundle bundle){
//do something
};
}
class B extends BaseFragments{
public void performSomeAction(){
pushFragment(A, bundle);
}
}
class BaseFragment extends Fragments {
public void pushFragments(Fragment fragmentType, Bundle bundle){
//How to get class A here so I can call the instance
//Pop to fragment -> fragmentType
pushToFragment(A.newInstance(bundle));
};
}
BaseFragment
不是泛型类,但基类和a和B是(命名不好的)子类,只是为了澄清。也就是说,如果您的设计要求您知道基类中fragmentType
的类型,那么它已经有缺陷了。为什么A和B首先需要实现BaseFragments
?如果您已经知道对象应该是什么类型,那么您可以将其转换为该类型并能够使用类的方法。然而,正如@Thomas所说,在这种情况下,这些实际上并不是泛型。