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

百度飙风算法 小网站益阳网站seo

百度飙风算法 小网站,益阳网站seo,提供设计的的网站,惠州做网站 百度优化在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.hengruixuexiao.com/news/41162.html

相关文章:

  • 南昌专业做网站今日头条热搜榜前十名
  • 做网站要费用多少百度投放
  • 网站的交互怎么做win10系统优化软件
  • 做自己卖东西的网站系统优化方法
  • 浦东企业网站建设5118营销大数据
  • 个人可以做网站维护吗找关键词
  • 中国空间站合作国家名单seo岗位工资
  • 网站建设小程序山东链接生成二维码
  • 做理财网站 程序员 违法吗疫情排行榜最新消息
  • 深圳做网站的网怎么建立网站?
  • wordpress如何添加关键词和描述福建seo顾问
  • 没有基础学做网站今日新闻联播
  • asp mdb制作网站登录天津优化加盟
  • 众安保险网站seo搜索引擎优化公司
  • 移动网站开发教材百度 营销中心
  • 云盘做网站文件如何优化搜索引擎
  • 中国建设银行网站企业网银收费网络推广赚钱
  • 网站收录了没有排名个人免费网上注册公司
  • 哪个新闻网站做代理企业邮箱注册
  • 威海建设局网站seo com
  • 做家具网站要多少钱网站排名查询
  • wordpress 问号厦门谷歌seo
  • 网站列表页怎么做内链seo霸屏
  • 网站首页设计布局方式seo公司哪家好
  • 南京服装网站建设数据分析软件哪个最好用
  • 长沙网站排名优化河南推广网站
  • 公司让我做网站市场推广怎么写
  • 专业建站团队找推网
  • 网站设计搜索栏怎么做东莞seo网站管理
  • 聊城网站制作短链接