Scala知識點26 斜變 逆變 非變

2021-10-18 20:20:52 字數 476 閱讀 9003

首先我想要讓大家知道的是這三個東西用來幹什麼的,我們在其他程式語言中常出現乙個問題,如果a是b的子類,那麼a的物件例項化時,可以賦值給b的引用,但是如果中間隔了一層那父、子類之間的關係就不能用了,比如生成list[b]=new arraylist[a]時,就不可以了

斜變、逆變、非變就是用來解決這個問題的

package com

class super

class sub extends super

//協變

class temp1[+a]

(title: string)

//逆變

class temp2[-a]

(title: string)

//非變

class te***[a]

(title: string)

object t_test

}

scala知識點(一)

1.drop,dropright,dropwhile drop drop n int list a 丟棄前n個元素,返回剩下的元素 dropright dropright n int list a 丟棄最後n個元素,返回剩下的元素 dropwhile dropwhile p a boolean li...

關於Scala的知識點(一)

scala的概念 scala是乙個物件導向和面向函式式的多正規化程式語言,基於 jvm,執行於 j a虛擬機器,相容現有j a程式。在scala程式設計中,每個值都是物件,每個符號都是方法操作 在面向函式中,函式是乙個物件。他跟字串 數值具有同等地位,也就是說函式可以賦值給乙個變數,可以作為方法的引...

scala 元組tuple的幾個知識點

通過下標 n取資料不多說了,下面是幾個比較有意思的知識點 知識點1 tuple 和function 和producct一樣最多隻支援22個元素 比如 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 這樣是沒問題的 但是 0,1,2,3,...