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 
+0

由于它的工作 – user8459720

+0

@ user8459720不是。很高兴帮助你。 –