从品牌网站建设到网络营销策划,从策略到执行的一站式服务
我们先看一下变量界定的代码
成都创新互联公司是一家以网络技术公司,为中小企业提供网站维护、网站制作、网站设计、网站备案、服务器租用、域名注册、软件开发、微信小程序开发等企业互联网相关业务,是一家有着丰富的互联网运营推广经验的科技公司,有着多年的网站建站经验,致力于帮助中小企业在互联网让打出自已的品牌和口碑,让企业在互联网上打开一个面向全国乃至全球的业务窗口:建站来电联系:18982081108
package com.dt.scala.type_parameterization class Pair_NoPerfect[T <: Comparable[T]](first: T,second:T){ def bigger ={ if (first.compareTo(second)>=0) first else second } } object View_Bounds { def main(args: Array[String]): Unit = { val pair = new Pair_NoPerfect("Spark","Hadoop") println(pair.bigger) } }
如果我们要传入的参数是整数,编译器会报错
说明Int不是Comparable的子类。但是Int可以通过隐式转换转成RichInt ,它是Comparable子类。
那么我们可以使用视图界定(view bound)来实现
package com.dt.scala.type_parameterization class Pair_NoPerfect[T <: Comparable[T]](first: T,second:T){ def bigger ={ if (first.compareTo(second)>=0) first else second } } // 将变量界定符号中的:换成% ,那么就变成了视图界定 <% class Pair_Better[T <% Comparable[T]](first: T,second:T){ def bigger ={ if (first.compareTo(second)>=0) first else second } } object View_Bounds { def main(args: Array[String]): Unit = { val pair = new Pair_Better(1,2) // 隐式转换 Int -> RichInt println(pair.bigger) } }
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图