
泛型
程序员老林
这个作者很懒,什么都没留下…
展开
-
Kotlin学习之泛型函数和星投影
泛型函数和Java类型,除了泛型类,函数本身也是支持泛型的。 fun <T> getValue(item: T): T { return item }普通的函数是没有<T>这部分内容的,表示这个是泛型函数,拥有一个泛型类型T。 val item = getValue<Int>(100)星投影对于Foo <out T : TUpper>,其中T是一个具有上界TUpper的协变类型参数,F...原创 2020-07-03 17:36:59 · 461 阅读 · 0 评论 -
Kotlin学习之泛型详解
Kotlin:声明处协变 ,在类型参数声明处提供Java:使用处协变,具体使用的时候才声明协变我们随便定义一个泛型如下:class B<T extends CharSequence>{ }这个表示在实例化B的时候你提供的泛型T必须是CharSequence或者CharSequence的子类,这个和Java的使用处协变不是一回事。我们说的使用处协变是下面这种形式B<? extends ...>两种方式不要混为一谈。举个例子:inter原创 2020-07-02 18:00:51 · 436 阅读 · 0 评论 -
Kotlin学习之泛型(协变及逆变)
首先看看在Java中的泛型List<Object> list1;这样声明,表示我可以给list1放置任何类型的对象。List<String> list2;这样表明,list2只可以放置类型是String的对象。但是在java中这样是不允许的List<String> list1 = new ArrayList();List<Object> list2 = list1 ; //编译失败这意味着List<String&g.原创 2020-06-23 18:46:27 · 285 阅读 · 0 评论 -
Kotlin学习之泛型(协变和逆变实战)
首先看看在Java中@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main4); List<Cat> cats = new ArrayList<>(); List<? extends Animal> anima.原创 2020-06-30 19:43:14 · 282 阅读 · 2 评论