gpt4 book ai didi

class - Class< 的语法是什么?在 kotlin 中扩展 class_name>?

转载 作者:IT老高 更新时间:2023-10-28 13:42:19 30 4
gpt4 key购买 nike

我正在尝试创建一个接受从 Word_Class 继承的任何类变量但它不起作用的 Arraylist:

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

我正在寻找 Class< 的语法?在 kotlin 中扩展 class_name>

最佳答案

您可以使用 out type projection在 Kotlin 。它相当于 ?扩展Java中的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

关于class - Class< 的语法是什么?在 kotlin 中扩展 class_name>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45666215/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com