java中泛型确切类型的确定
2017-02-15 22:22
148 查看
在写android MVP模式的框架时,发现了一个点,就是如果用泛型来简化代码。同时总结了一下确定泛型的确切类型的方法。目前发现了如下的两种方法,今后遇到了再继续追加。
我们知道
在定义HomeActivity的时候,通过
比较如下代码,可以看的更清楚
一、在实例化的时候确定
就像是ArrayList的实例化,如:ArrayList arrayList = new ArrayList<Bean>();
我们知道
ArrayList<T>类型是T是泛型,通过以上的实例化,我们就确定了该类型为Bean
二、通过继承来确定
看如下代码BaseActivity<T extends BasePresenter> extends Activity { T presenter; } HomeActivity extends BaseActivity<HomePresenter> { public void onCreate(Intent intent) { presenter = new HomePresenter(); } public void invokeHomePresenterFun() { presenter.homePresenterFun(); // 这样就可以直接调用HomePresenter的homePresenterFun方法,而不用先对persenter 进行强转了 } }
在定义HomeActivity的时候,通过
extends BaseActivity<HomePresernter>,同样可以确定BaseActivity里面的泛型T
比较如下代码,可以看的更清楚
BaseActivity extends Activity { BsePresenter presenter; } HomeActivity extends BaseActivity { public void onCreate(Intent intent) { presenter = new HomePresenter(); } public void invokeHomePresenterFun() { ((HomePresenter)presenter).homePresenterFun(); // 不使用泛型的时候,presenter的类型就是确定的BasePresenter,如果不强转编译器会报错 } }
相关文章推荐
- 思想:java中,父类的方法中传入的形参的数据类型是泛型,子类的方法的形参想只要一种确定的数据类型,子类该如何做呢?
- 掌握 Java 泛型类型(三)
- 在 Java 的泛型类型中使用通配符
- Java 泛型高级编程 ? 类型占位符的使用
- java 设置多个泛型类型
- 初学Java,泛型类型通配符(三十七)
- 掌握 Java 泛型类型(一)
- Java获取泛型参数的类型的方法
- 在 Java 的泛型类型中使用通配符
- java中使用泛型类型的好处
- java_通过反射获得泛型的实际类型参数
- Java 5.0泛型编程之泛型类型
- 诊断 Java 代码: 轻松掌握 Java 泛型类型,第 2 部分
- 如何取得java泛型里的类型
- Java 泛型类型通配符
- 掌握 Java 泛型类型(四)
- Java 5.0泛型编程之泛型类型(3)
- [转]如何取得java泛型里的类型
- Java返回类型泛型的用法小结
- Java中泛型是类型擦除的