假設(shè)一個(gè)類既有save保存方法,也有fetch讀取方法,如果沒有泛型限定,當(dāng)IBox<Number>指向IBox<Int>的時(shí)候之碗,首先IBox<Number>存儲(chǔ)(不會(huì)報(bào)錯(cuò)),再由IBox<Int>讀取凰萨,這樣會(huì)導(dǎo)致存儲(chǔ)的時(shí)候不會(huì)報(bào)錯(cuò)继控,但是讀取的時(shí)候械馆,類型轉(zhuǎn)換會(huì)報(bào)錯(cuò)胖眷。(編譯器已經(jīng)不允許上述紅框內(nèi)的賦值)
那么如何允許這樣賦值呢?首先如果只有存儲(chǔ)霹崎,使用in
如果只有獲取數(shù)據(jù)珊搀,使用out
那么為什么要這么傳遞紅色方框的引用呢?