1

我想通过删除无用的类来简化项目。通过无用的类,我的意思是:

public class MainPage extends TileGridFragment<MainModel> {}

该类的整个逻辑由 实现TileGridFragment,数据由 提供MainModel,通过单例类访问哪个实例。

我想将此类的实例化推迟到以后,所以我只是传递MainPage.class给我的方法。

MainPage相当于,我TileGridFragment<MainModel>想删除这个类,而是使用类似的东西TileGridFragment<MainModel>.class

但这不起作用,我没有主意。

我也试过Class.forName了,但它抛出了一个ClassNotFoundException.

任何的想法 ?

4

2 回答 2

1

如果实际执行的MainPage{},就通过TileGridFragment.class。实际的类型参数与运行时无关,因为它们被擦除删除

此外,由于擦除,您可以将新的TileGridFragment(使用原始类型,作为 的结果TitleGridFragment.class.newInstance())转换为TitleGridFragment<MainModel>,并且不会产生附带损害(除了编译器的一点警告,可以抑制)。

于 2013-03-15T16:37:33.130 回答
0

你真的不能,你可能会从反思中得到一些快乐,但我不确定你到底想做什么。

在这里尝试: 在运行时获取类的泛型类型

于 2013-03-15T09:53:00.890 回答