3
我試圖讓接受來自Word_Class繼承任何類變量的ArrayList,但它不工作:Class <?的語法是什麼?在kotlin中擴展class_name>?
var lst = ArrayList<Class<Word_Class>>();
lst.add(Class<Noun_Class>);
我要尋找的語法<類?在kotlin中擴展class_name>
我試圖讓接受來自Word_Class繼承任何類變量的ArrayList,但它不工作:Class <?的語法是什麼?在kotlin中擴展class_name>?
var lst = ArrayList<Class<Word_Class>>();
lst.add(Class<Noun_Class>);
我要尋找的語法<類?在kotlin中擴展class_name>
您可以在Kotlin中使用out type projection。它相當於在Java中? extends T
,例如:
// v--- out type projection
var lst = ArrayList<Class<out Word_Class>>()
爲了得到你應該使用KClass#java
一個Java類,例如:
// v--- get a KClass instance
lst.add(Noun_Class::class.java)
// ^--- get java.lang.Class instance
由於它的工作 – user8459720
@ user8459720不是。很高興幫助你。 –