https://www.cnblogs.com/coprince/p/8603492.html
java 泛型详解 很不错
Kotlin 中的 out
和 in
和 Java 泛型一样,Kolin 中的泛型本身也是不可变的。
- 使用关键字
out
来支持协变,等同于 Java 中的上界通配符? extends
。 - 使用关键字
in
来支持逆变,等同于 Java 中的下界通配符? super
。 - 换了个写法,但作用是完全一样的。
out
表示,我这个变量或者参数只用来输出,不用来输入,你只能读我不能写我; in
就反过来,表示它只用来输入,不用来输出,你只能写我不能读我。- 假如实现泛型可读可写的 直接写 不加修饰 例如 封装的BaseQuickAdapter
-
com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.34
open class MyBaseRecyclerAdapter<R : BaseEntity>(layout: Int) : BaseQuickAdapter<R, BaseViewHolder>(layout) { override fun convert(helper: BaseViewHolder?, entity: R) {} fun setChangeLoadMore(booleanRefush: Boolean, resultSize: Int, totalSize: Int) { this.loadMoreComplete() if (this.itemCount >= totalSize) { this.loadMoreEnd() } else { if (resultSize < RequestConstant.PAGE_SIZE) { this.loadMoreEnd(booleanRefush) } else { this.loadMoreComplete() } } } }
-