Что такое синтаксис класса <? extends class_name> в kotlin?

Я пытаюсь сделать Arraylist, который принимает любую переменную класса, унаследованную от Word_Class, но она не работает:

var lst = ArrayList<Class<Word_Class>>(); lst.add(Class<Noun_Class>); 

Я ищу синтаксис для класса <? extends class_name> в kotlin

Вы можете использовать проекцию типа в Котлине. это эквивалентно ? extends T ? extends T в Java, например:

 // 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