java - 从泛型类型获取类对象

标签 java android generics reflection

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

public class MainPage extends TileGridFragment<MainModel> {}

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

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

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

但这行不通,我没有想法。

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

有什么想法吗?

最佳答案

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

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

关于java - 从泛型类型获取类对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15429098/

相关文章:

android - 如何将 imageview 移动到右侧获取 android 中的 Activity ?

java - Android 应用程序中的 MVP 与事件驱动

c# - 如果我指定了基类,为什么我不能用泛型调用参数化构造函数

generics - 使用 Unity,如何使用通用接口(interface)自动注册通用类而不向其注册每种类型

java - 当日期列在数据库中不可用时,在特定日期后自动删除数据库

java - 将带破折号的 URL 参数映射到 Spring Web MVC 中的对象

java - 不要在字符串中转义双引号

java - Maven WebApp tomcat7系统属性

android - 如何从 build.gradle 中读取库的版本名称?

c# - Action<Action> 是什么意思?