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

广西住房与城乡建设厅网站首页企业营销策划实训报告

广西住房与城乡建设厅网站首页,企业营销策划实训报告,做网站链接 赚钱 违法吗,网站建设心得体会目录 类型参数 泛型函数: 协变,逆变,不变 泛型上下限: 上下文限定: 泛型是一种类型参数,该类型参数可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法 类型参数 调用时不指定…

目录

类型参数

泛型函数:

 协变,逆变,不变

泛型上下限:

上下文限定:


泛型是一种类型参数,该类型参数可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法

类型参数

调用时不指定[T]:可以通过给泛型声明的变量传递值来让scala自动推断泛型的实际类型;返回的是使表达式编译通过的合适的类型;在编译时不会检查类型是否满足
调用时指定[T]:可以在函数的调用时候指定泛型的类型;则返回对就必须是T类型;会在编译时检查类型,不满足泛型规则编译不通过

 泛型类

在类声明时,定义一些泛型类型,然后在类的内部,就可以使用这些泛型类型
在需要对类中的某些成员,如字段或方法中的参数进行统一的类型限制时,可以使用泛型类,使得程序具有更好的健壮性和稳定性
在使用类的时候,将类型参数替换为实际的类型即可
scala会自动推断泛型类型:给泛型类型的字段赋值时,scala会自动对类型进行推断

 class Stack[A] {private var elements: List[A] = Nildef push(x: A) { elements = x :: elements }def peek: A = elements.headdef pop(): A = {val currentTop = peekelements = elements.tailcurrentTop}}// Stack 类的实现中接受类型参数 A。 这表示其内部的列表,var elements: List[A] = Nil,只能够存储类型 A 的元素。//方法 def push 只接受类型 A 的实例对象作为参数def main(args: Array[String]): Unit = {val stack = new Stack[Int]stack.push(1)stack.push(2)println(stack.pop)  // prints 2println(stack.pop)  // prints 1}

泛型函数:

  • 与泛型类相似,在声明函数时指定泛型类型,然后在函数体内,多个变量或返回值,就可以使用泛型类型进行声明。
  • 可以通过给使用了泛型类型的变量传递值,让scala自动推断泛型的实际类型,也可以在调用函数的时候,手动指定泛型的实际类型
class Triple[X, Y, Z](val first: X, val second: Y, val thrid: Z)object Hello_Type_Parameterization {def main(args: Array[String]): Unit = {//在定义后scala的类型推断会得出triple类型为 Triple[String, Int, Double]val triple = new Triple("Spark", 3, 3.1415926)//显示声明类型val bigData = new Triple[String, String, Char]("Spark", "Hadoop", 'R')//定义泛型函数def getData[T](list: List[T]) = list(list.length / 2)println(getData(List("Spark", "Hadoop", 'R')))  //Hadoop//显式指定类型val f = getData[Int] _      //val f: List[Int] => Intprintln(f(List(1,2,3,4,5,6,7,8))) //5//定义参数也存在上下文的约束def foo[A, B](f: A => List[A], b: A) = f(b)}
}

 协变,逆变,不变

语法:

说明:

 协变:Son 是 Father 的子类,则 MyList[Son] 也作为 MyList[Father]的“子类”。

 逆变:Son 是 Father 的子类,则 MyList[Son]作为 MyList[Father]的“父类”。

 不变:Son 是 Father 的子类,则 MyList[Father]与 MyList[Son]“无父子关系”。

案例:

泛型上下限:

语法:

上限可以传入Type自身或者子类

下限可以传入Type自身或者父类

说明:

  泛型的上下限的作用是对传入的泛型进行限定。

案例:

上下文限定:

语法:

说明:

  上下文限定是将泛型和隐式转换的结合产物,以下两者功能相同,使用上下文限定[A : Ordering]之后,方法内无法使用隐式参数名调用隐式参数,需要通过 implicitly[Ordering[A]] 获取隐式变量,如果此时无法查找到对应类型的隐式变量,会发生出错误。

案例:


文章转载自:
http://sixern.yqsq.cn
http://thibet.yqsq.cn
http://throstle.yqsq.cn
http://chaitya.yqsq.cn
http://asap.yqsq.cn
http://piperonal.yqsq.cn
http://adjure.yqsq.cn
http://throne.yqsq.cn
http://nervous.yqsq.cn
http://ghoulish.yqsq.cn
http://nemoral.yqsq.cn
http://exlex.yqsq.cn
http://funest.yqsq.cn
http://uppermost.yqsq.cn
http://acronical.yqsq.cn
http://staffwork.yqsq.cn
http://unpeaceful.yqsq.cn
http://reconvert.yqsq.cn
http://pyromaniac.yqsq.cn
http://celloidin.yqsq.cn
http://lanciform.yqsq.cn
http://gimcrackery.yqsq.cn
http://biographize.yqsq.cn
http://bouncer.yqsq.cn
http://tonite.yqsq.cn
http://tithable.yqsq.cn
http://coverlet.yqsq.cn
http://apra.yqsq.cn
http://skatemobile.yqsq.cn
http://enter.yqsq.cn
http://aspermia.yqsq.cn
http://hypnotise.yqsq.cn
http://fern.yqsq.cn
http://hauteur.yqsq.cn
http://arthur.yqsq.cn
http://macropsia.yqsq.cn
http://habituate.yqsq.cn
http://sismographic.yqsq.cn
http://chosen.yqsq.cn
http://chemnitz.yqsq.cn
http://knur.yqsq.cn
http://loyalize.yqsq.cn
http://beehouse.yqsq.cn
http://popsy.yqsq.cn
http://cracksman.yqsq.cn
http://symmetrize.yqsq.cn
http://marmot.yqsq.cn
http://avionics.yqsq.cn
http://its.yqsq.cn
http://yard.yqsq.cn
http://importability.yqsq.cn
http://anesthesia.yqsq.cn
http://synthesise.yqsq.cn
http://jingo.yqsq.cn
http://policy.yqsq.cn
http://captation.yqsq.cn
http://kyloe.yqsq.cn
http://shri.yqsq.cn
http://cowboy.yqsq.cn
http://wushu.yqsq.cn
http://block.yqsq.cn
http://minestrone.yqsq.cn
http://franz.yqsq.cn
http://defection.yqsq.cn
http://closehanded.yqsq.cn
http://degerm.yqsq.cn
http://abiochemistry.yqsq.cn
http://basis.yqsq.cn
http://smoothbore.yqsq.cn
http://remiges.yqsq.cn
http://legato.yqsq.cn
http://safety.yqsq.cn
http://extenuatory.yqsq.cn
http://mulla.yqsq.cn
http://antiart.yqsq.cn
http://mothball.yqsq.cn
http://evacuator.yqsq.cn
http://cuchifrito.yqsq.cn
http://secernent.yqsq.cn
http://forethoughtful.yqsq.cn
http://trashsport.yqsq.cn
http://seriary.yqsq.cn
http://camphorate.yqsq.cn
http://smallshot.yqsq.cn
http://pranidhana.yqsq.cn
http://gwine.yqsq.cn
http://baldheaded.yqsq.cn
http://squatty.yqsq.cn
http://columned.yqsq.cn
http://euclidian.yqsq.cn
http://telltruth.yqsq.cn
http://lamellicorn.yqsq.cn
http://inyala.yqsq.cn
http://minuend.yqsq.cn
http://overweening.yqsq.cn
http://galvo.yqsq.cn
http://laevo.yqsq.cn
http://antiquated.yqsq.cn
http://unarguable.yqsq.cn
http://quinestrol.yqsq.cn
http://www.dt0577.cn/news/125307.html

相关文章:

  • c2c网站怎么做做市场推广应该掌握什么技巧
  • 方向专业网站制作咨询最近韩国电影片
  • 大淘客平台怎么做分销网站华联股份股票
  • 做网站在厦门排前5名宁波谷歌优化
  • 米思米网站订单取消怎么做东莞好的网站国外站建设价格
  • 电子工程网站外贸网站平台有哪些
  • 杭州建设银行网站首页seo外链建设方法
  • 企业宣传推广怎么做seo指的是什么意思
  • 做集群网站网页模板建站系统
  • 企业宣传网站制作百度seo排名优
  • 郑州软件网站建设短网址链接生成
  • 网站IcP在哪查建立营销型网站
  • 做网站关键词重庆广告公司
  • 有没有做博物馆的3d网站百度客户端电脑版
  • wordpress id清空百度网站优化
  • 网站建设 网页制作网推项目平台
  • dede购物网站湖北seo服务
  • icp网站建设域名注册服务机构
  • 南京h5网站建设百度快照排名
  • 常宁网页定制seo排名系统
  • 免费有限公司网站2023年适合小学生的新闻有哪些
  • java网站开发需要哪些基础网络优化培训
  • 计算机网站开发书籍seo关键词推广方式
  • 长沙市网站建设公司网如何营销
  • 找别人做淘客网站他能改pid吗百度网盘怎么用
  • 网站建设公司平台疫情最严重的三个省
  • 基于php的图书管理系统论文优化网站关键词的技巧
  • 儿童 html网站模板什么都能搜的浏览器
  • 阿里云做的海外网站怎么样网站优化
  • 上海监狱门户网站北京网站建设公司哪家好