我讀的是kotlin沒有通配符的原因(https://kotlinlang.org/docs/reference/generics.htm l)。這一切都來自宣言網站的變化。我們有<in T>
和<out T>
結構應該取代通配符。我想我明白<out T>
是如何工作的,但我有<in T>
的麻煩。初始化變爲只讀列表(儘管不是完全一成不變的原因,我們可以清楚的話),如果我們對待每一個元素號碼可能被讀取後Koltin仿製藥申報網站差異<in T>建設
public List<? extends Number> list1;
public List<? super String> list2;
第一種情況:
所以在Java中,我們可以寫這樣的事情。
第二種情況是隻寫(儘管我們可以讀取它,如果我們把每個元素作爲對象)。我們可以在那裏寫上String和它的子類。
在科特林我能夠使用<out T>
這樣重新list1的例子:
class Service {
val container = Container(mutableListOf("1", "2", "3"))
}
class Container<T>(var list1: MutableList<out T>)
最後我想的東西simmilar與<in T>
以爲我能重新列表2的例子,但我失敗了:
可有人向我解釋如何在Kotlin中實現我的list2例子?我應該如何正確使用<in T>
結構?