我有一个参数Class<SearchForm> formType
的方法,在方法中我调用formType.newInstance()
来获取表单的实例。我需要能够传入SearchForm的子类,但是当我尝试传入MySearchForm.class
(MySearchForm扩展SearchForm)时,eclipse告诉我我无法传递Class<MySearchForm>
类型的参数{ {1}}。
如何传入扩展所需父类的类,然后实例化该类的对象?
答案 0 :(得分:3)
您可以使用upper bound generic wildcard Class<? extends SearchForm>
答案 1 :(得分:1)
即使Class<MySearchForm>
是Class<SearchForm>
,您也无法传递MySearchForm
,因为它不是SearchForm
。
但是,您可以在方法中使用通配符参数,定义如下:
... yourMethod(Class<? extends SearchForm> formType)