Scala泛型上下界

2021-09-27 07:59:42 字數 963 閱讀 1465

需求:

我們在定義方法/類的泛型時,限定必須從哪個類繼承、或者必須是哪個類的父類。此時,就需要使用到上下界。

使用<: 型別名表示給型別新增乙個上界,表示泛型引數必須要從該類(或本身)繼承

語法格式

[t <: 型別]

示例說明

參考**

class person

class student extends person

def demo[t <: person](a:array[t]) = println(a)

def main(args: array[string]): unit =

上界是要求必須是某個類的子類,或者必須從某個類繼承,而下界是必須是某個類的父類(或本身)

語法格式

[t >: 型別]

[!note]

如果類既有上界、又有下界。下界寫在前面,上界寫在後面

示例說明

參考**

class person

class policeman extends person

class superman extends policeman

def demo[t >: policeman](array:array[t]) = println(array)

def main(args: array[string]): unit =

scala上下界問題

今天看學習scala上下界,發現在理解下界 這個有一點點問題,記錄一下。object lowerbound extends val first new ebook hello val second new pbook book val p1 pair1 book new pair1 first,se...

泛型上下限

需求 定義乙個函式可以接受任何型別的集合物件,只能存integer或其父類型別資料。下限 定義乙個函式可以接受任何型別的集合物件,只能存number或其子類型別資料。上限 泛型萬用字元 下限 public static void print collection c super integer 泛型...

Scala入門七 scala的泛型

a 上邊界 表達了泛型的型別必須是 某種型別 或某種型別的 子類 案例 override def toset b a set b a 下邊界 表達了泛型的型別必須是 某種型別 或某種型別的 父類 案例 override def toset b a set b a view bounds可以進行某種神...