补充
显式类型声明
举个例子,以下是RxLifecycle的一个使用
其中 this.bindUntilEvent(ActivityEvent.PAUSE))就用到了泛型的显式转换
忽略类型不安全的警告
@SuppressWarnings("unchecked")
有了这个注解编译的时候会忽略类型安全的异常警告
举个例子
与操作&在泛型中的使用
调用该方法入参需要同时满足实现Cloneable接口和Comparable接口
泛型实现异构容器
不像普通的map,它的所有健都是不同类型,每个健都可以有一个不同的参数化类型,比如Class, Class
泛型的使用思维
泛型是用来传递对象类型,像是从管道里滑一遍出来
在封装的时候,我们通常不知道泛型实参类型,因此无法使用对应的方法,如果要使用,有几种办法:
引入泛型上界,使用限定对象的能力
instanceof
泛型能规整参数的位置关系
是否需要给泛型类里的泛型方法增加协变的能力
Java泛型实战
RxJava代码库中的泛型
Rxlifecycle代码库中的泛型
BaseRecyclerViewAdapterHelper(https://github.com/CymChad/BaseRecyclerViewAdapterHelper)
上述代码库大量使用了泛型,可以阅读
领取专属 10元无门槛券
私享最新 技术干货