新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
第43講:Scala中類型變量Bounds代碼實(shí)戰(zhàn)及其在Spark中的應(yīng)用源碼解析
類型變量的界定:
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了鳳岡免費(fèi)建站歡迎大家使用!
類型變量的上界,類型變量的下界。
上界就是類型必須是界定類型的子類,看如下示例:
package com.dt.scala.type_parameterization // 我們需要定義一個泛型類Pair,泛型類中有一個bigger方法,用來比較傳入的參數(shù) // 此時(shí)泛型類型必須是Comparable的子類,我們可以使用 <: 符號來限定傳入的類型 class Pair[T <: Comparable[T]](first: T,second:T){ def bigger ={ if (first.compareTo(second)>=0) first else second } } object Type_variables_Bounds { def main(args: Array[String]): Unit = { val pair = new Pair("Spark","Hadoop") println(pair.bigger) } }
下屆:類型必須是界定類型的父類
// 我們使用 >: 符號來做下屆限定 class Pair_Lower_Bounds[T](first: T,second:T){ def replace[R >: T](newFirst: R) = { //R必須是T的父類 new Pair_Lower_Bounds(newFirst,second) } }
分享名稱:第43講:Scala中類型變量Bounds代碼實(shí)戰(zhàn)及其在Spark中的應(yīng)用源碼解析
文章出自:http://fisionsoft.com.cn/article/ipcjsg.html