我想通过删除无用的类来简化项目。我所说的无用类的意思是:
public class MainPage extends TileGridFragment<MainModel> {}
该类的整个逻辑由TileGridFragment
实现,数据由MainModel
提供,该实例通过singleton类进行访问。
我想将此类的实例化推迟到以后,所以我只需将MainPage.class
传递给我的方法。
由于MainPage
等价于TileGridFragment<MainModel>
,所以我想删除这个类,转而使用类似TileGridFragment<MainModel>.class
的东西。
但这不起作用,我疯了。
我也尝试过Class.forName
,但它抛出了ClassNotFoundException
。
知道吗?
如果MainPage
的实现实际上是{}
,只需传递TileGridFragment.class
。实际的类型参数在运行时是不相关的,因为它们被擦除删除。
此外,由于擦除,您可以将新的TileGridFragment
(具有原始类型,作为TitleGridFragment.class.newInstance()
的结果(强制转换为TitleGridFragment<MainModel>
,并且不会有附带的损坏(除了编译器发出的一点警告之外,这是可以抑制的(。
你真的不能,你可能会从反思中获得一些快乐,但我不确定你到底想做什么。
请在此处尝试:在运行时获取类的泛型类型