溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

第43講:Scala中類型變量Bounds代碼實戰(zhàn)及其在Spark中的應用源碼解析

發(fā)布時間:2020-07-05 09:20:59 來源:網絡 閱讀:377 作者:lqding1980 欄目:大數據

類型變量的界定:

類型變量的上界,類型變量的下界。

上界就是類型必須是界定類型的子類,看如下示例:

package com.dt.scala.type_parameterization

// 我們需要定義一個泛型類Pair,泛型類中有一個bigger方法,用來比較傳入的參數
// 此時泛型類型必須是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)
  }
}


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI