美文网首页
Kotlin泛型 (2)泛型属性

Kotlin泛型 (2)泛型属性

作者: 狼性代码人 | 来源:发表于2019-06-09 06:03 被阅读0次

  在 kotlin 中可以声明泛型属性,但是这种属性一定是扩展属性,不能是普通属性。提示:扩展属性是没有存储器的,即不能在访问器中使用 field 字段。

val <T> ArrayList<T>.first: T?
    get() = if (this.isEmpty()) null else this[0]

val <T> ArrayList<T>.last: T?
    get() = if (isNotEmpty()) this[size - 1] else null

fun main(args: Array<String>?) {
    val array1 = arrayListOf<Int>()
    println(array1.first)
    println(array1.last)

    val array2 = arrayListOf("a", "b", "c", "d")
    println(array2.first)
    println(array2.last)
}

2019-06-06 17:06:03.457 31719-31719/cn.ak.kot I/System.out: null
2019-06-06 17:06:03.457 31719-31719/cn.ak.kot I/System.out: null
2019-06-06 17:06:03.461 31719-31719/cn.ak.kot I/System.out: a
2019-06-06 17:06:03.461 31719-31719/cn.ak.kot I/System.out: d

相关文章

  • Kotlin泛型 (2)泛型属性

      在 kotlin 中可以声明泛型属性,但是这种属性一定是扩展属性,不能是普通属性。提示:扩展属性是没有存储器的...

  • Kotlin:泛型杂谈(下)

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

  • Kotlin for android学习六:泛型

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

  • Kotlin---泛型

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

  • Kotlin 泛型

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

  • 泛型

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

  • 泛型

    Kotlin 泛型详解 声明一个泛型类 声明一个泛型方法 泛型约束 List 和 List 是...

  • Kotlin 泛型 VS Java 泛型

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

  • Kotlin 泛型

    说起 kotlin 的泛型,就离不开 java 的泛型,首先来看下 java 的泛型,当然比较熟悉 java 泛型...

  • Kotlin 泛型

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

网友评论

      本文标题:Kotlin泛型 (2)泛型属性

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