美文网首页
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)泛型属性

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