当前位置: 首页 > news >正文

有哪些网站可以做电子邀请函网页设计尺寸代码

有哪些网站可以做电子邀请函,网页设计尺寸代码,4399游戏官网入口,顶尖网站设计在Kotlin中,协变和逆变是泛型编程中的两个重要概念,它们允许我们在类型系统中更加灵活地处理类型关系。 1.协变:协变允许我们使用比原始类型更具体的类型。在kotlin中,通过在类型参数上加out关键字来表示协变,生产者,例…

在Kotlin中,协变和逆变是泛型编程中的两个重要概念,它们允许我们在类型系统中更加灵活地处理类型关系。
1.协变:协变允许我们使用比原始类型更具体的类型。在kotlin中,通过在类型参数上加out关键字来表示协变,生产者,例如,如果我们有一个泛型类List,其中T是一个协变类型参数,那么我们可以将List赋值给List,因为String是Any的子类型。

2.逆变:逆变允许我们使用比原始类型更一般的类型。在kotlin中,通过在类型参数上加in关键字来表示逆变,消费者,例如,如果我们有一个泛型函数fun foo(list: List),其中T是一个逆变类型参数,那么我们可以将List传递给foo函数,因为Any是String的超类型。

协变代码举例:

interface Producer<out T> {//协变 out 类似java中的 extendfun produce(): T
}
open class Fruit
open class Apple: Fruit()class FruitProducer:Producer<Fruit> {override fun produce(): Fruit {return Fruit()}
}class AppleProducer:Producer<Apple> {override fun produce(): Apple {return Apple()}
}fun <T> processProduce(producer:Producer<T>) {val product = producer.produce()println(product)
}fun main(){var fruitProducer:Producer<Fruit> = FruitProducer()var appleProducer:Producer<Apple> = AppleProducer()processProduce(fruitProducer)processProduce(appleProducer)
//    appleProducer = fruitProducer  //报错,协变,不允许将Producer<Fruit>赋值给Producer<Apple>
//    fruitProducer = appleProducer //协变,允许将Producer<Apple>赋值给Producer<Fruit>}

逆变代码举例:

interface Consumer<in T>{ //逆变 in 类似java中的superfun consume()
}class FruitConsumer:Consumer<Fruit>{override fun consume() {println("consume fruit")}
}class AppleConsumer:Consumer<Apple>{override fun consume() {println("consume apple")}
}inline fun <T> processConsumer(consumer:Consumer<T>){consumer.consume()
}fun main() {var fruitConsumer:Consumer<Fruit> = FruitConsumer()var appleConsumer:Consumer<Apple> = AppleConsumer()processConsumer(fruitConsumer)processConsumer(appleConsumer)
//    fruitConsumer = appleConsumer //报错,逆变,不允许将Consumer<Apple>赋值给Consumer<Fruit>
//    appleConsumer = fruitConsumer  //允许将Consumer<Fruit>赋值给Consumer<Apple>,}
http://www.yayakq.cn/news/891090/

相关文章:

  • 网站建设的目的包含哪些方面重庆本土网站
  • 400元做网站送网推淄博做网站小程序的公司
  • 淘宝 网站建设企业网站建设原因
  • 淘宝客网站返利程序免费发布房源的平台
  • 怎样做自己的网站和发布网站漯河网站建设
  • 提供手机自适应网站建设维护宜兴百度推广公司
  • 织梦网站首页标签网络下载软件
  • 网站建设实训的意义app线上推广
  • 广东网页空间网站网站建设有没有
  • 昆山设计网站公司常熟建设合同备案在哪个网站
  • 网站关键词选取的方法贵州企业网站建设案例
  • 设计做网站如何做外围网站的代理
  • 如何弄一个网站中国建设银行官网下载
  • x域名免费网站专题学习网站开发流程
  • 网站建设工作量评估报价表最传统的网站推广手段
  • 好的提升设计师网站全国信息企业公示系统官网
  • 网站必须做商标么亳州网站建设公司
  • 网站模板整站资源从化公司网站建设
  • 中国城市建设研究院深圳分院网站免费咨询合同
  • 桂林市网站建设西安网站建设开发
  • 汽车展示网站建立网站如何盈利
  • 手机 dns 国外网站做公众号编辑用什么网站
  • 上海个人医疗网站备案广平企业做网站推广
  • 软文推广文章网站优化建议怎么写
  • 定做网站多少钱网站建设面谈销售话术
  • wordpress菜单调用标签关键词优化是什么意思
  • 福州网站推广优化医院网站建设情况
  • 个人网站首页布局设计做决定的网站
  • 外贸网站seo推广方案网站建设的主要产品
  • 门户网站建设汇报浏览广告赚钱的平台