zoukankan      html  css  js  c++  java
  • kotlin 泛型中类型投射

    fun main(arg: Array<String>) {
        var ints:Array<Int> = arrayOf(1, 2, 3)
        val any =Array<Any>(3){}
        copy(ints,any)//编译错误,因为Array<Int>不是Array<Any>的子类型
    
    }
    
    
    
    fun copy(from :Array<Any>,to:Array<Any>){
        assert(from.size==to.size)
        for (i in from.indices){
            to[i]=from[i]
        }
    }

    fun main(arg: Array<String>) {
        var ints:Array<Int> = arrayOf(1, 2, 3)
        val any =Array<Any>(3){}
        copy(ints,any)//编译通过
    
    }
    
    
    
    fun copy(from :Array< out Any>,to:Array<Any>){
        assert(from.size==to.size)
        for (i in from.indices){
            to[i]=from[i]
        }
    }

    上面是有out类型投射,我们声明的含义:from 不是一个单纯的数组,而是一个被限制投射的数组,也可以使用in关键字来投射一个类型

  • 相关阅读:
    4.18下午
    4.18上午
    2017.5.10-afternoon
    2017.5.9-afternoon
    2017.5.10-morning
    2017.5.9-morning
    2017.5.8-afternoon
    2017.5.8-morning
    2017.5.5-afternoon
    2017.5.5-morning
  • 原文地址:https://www.cnblogs.com/loaderman/p/10141702.html
Copyright © 2011-2022 走看看