Class <?的语法是什么? 在kotlin中扩展class_name>?
我正在尝试使Arraylist接受从Word_Class继承的任何类变量,但它不起作用:
var lst = ArrayList<Class<Word_Class>>(); lst.add(Class<Noun_Class>);
我正在寻找Class <?的语法 在kotlin中扩展class_name>
您可以在Kotlin中使用输出类型投影 。 这相当于? extends T
在Java中? extends T
,例如:
// v--- out type projection var lst = ArrayList<Class<out Word_Class>>()
要得到一个Java类,你应该使用KClass#java
,例如:
// v--- get a KClass instance lst.add(Noun_Class::class.java) // ^--- get java.lang.Class instance