美文网首页
kotlin中的泛型

kotlin中的泛型

作者: 爱你为你做饭 | 来源:发表于2024-03-04 16:34 被阅读0次
  1. java泛型:用于项目编译期的类型限定 编译后会类型擦除也就是编译后确认了使用的类型:
    • 泛型类,泛型属性,泛型方法
    • 泛型通配符即其泛型上界和下届语法:
      • ? extends 类:上界语法:即类型是指定类型及其子类包括指定类型
      • ?super 类:下界语法:即类型是指定类型及其父类
      • ?:等同于 ?extends Object
    • 泛型的继承:父类指定泛型,子类可以继承父类泛型,半继承半实现,全实现,不继承也不实现父类泛型,具体参考参考文章。
  2. kotlin 泛型:和java的泛型一致,kotlin也支持泛型,泛型类,泛型属性,泛型函数。


    kotlin泛型语法
    • 使用关键字 out 来支持协变,等同于 Java 中的上界通配符 ? extends。
      • out 泛型仅能用于返回类型(输出)
    • 使用关键字 in 来支持逆变,等同于 Java 中的下界通配符 ? super。
      • in 泛型仅能用于参数(输入)
    • 前面讲到了 Java 中单个 ? 号也能作为泛型通配符使用,相当于 ? extends Object。它在 Kotlin 中有等效的写法:* 号,相当于 out Any。
    • where:java中上界语法:?extends 类 kotlin也支持 kotlin语法:使用:代替了原有的?extends 即 T:类:标识T代表着指定类及其子类,上界为指定类,同时可以指定多个类,即类型是多个类的子类才符合条件,此时就用到where关键字,即:where T:A,T:B: 代表T记得是a的子类也的是b的子类才符合条件。

参考文章:
java:泛型基础
java:泛型基础2
java泛型继承
kotlin:泛型

相关文章

  • Kotlin:泛型杂谈(下)

    在Kotlin:泛型杂谈(上)中,从泛型扩展属性、非空约束、实例化类型参数三个方面简单介绍了一下Kotlin中泛型...

  • Kotlin 泛型

    Kotlin 支持泛型, 语法和 Java 类似。例如,泛型类: 泛型函数: 类型变异 Java 的泛型中,最难理...

  • 为 Kotlin 中的 Boolean 类扩展一套流式 API

    近日拜读了大佬 mikyou 一篇讲 Kotlin 中泛型的 文章,里面说到 Kotlin 中泛型应用场景的问题时...

  • Kotlin 泛型

    Kotlin 中也有泛型的概念,和 Java 中的类似,但又不尽相同,一起来认识 Kotlin 中的泛型吧。 一、...

  • 泛型

    与Java泛型相同,Kotlin同样提供了泛型支持。对于简单的泛型类、泛型函数的定义,Kotlin 与 Java ...

  • Kotlin---泛型

    Kotlin不变型泛型 Kotlin的不变型泛型和Java一样,通过声明泛型类型来使用泛型类。而该种泛型声明后,则...

  • Kotlin 泛型

    Kotlin 泛型 1. 泛型类 定义一个泛型类 使用 在继承中 使用 2. 泛型函数 使用 3. 泛型的擦除 无...

  • Kotlin入门潜修之类和对象篇—泛型及其原理

    泛型 如果我们了解java中的泛型,那么本篇文章提到的kotlin泛型我们也不会陌生。但是如果之前没有接触过泛型或...

  • Kotlin 泛型 VS Java 泛型

    建议先阅读我的上一篇文章 -- Java 泛型 和 Java 泛型一样,Kotlin 泛型也是 Kotlin 语言...

  • Kotlin for android学习六:泛型

    前言 kotlin官网和kotlin教程学习教程的笔记。 1. 声明泛型 2. 泛型约束 : 对泛型的类型上限进行...

网友评论

      本文标题:kotlin中的泛型

      本文链接:https://www.haomeiwen.com/subject/lppkzdtx.html