如何使用Kotlinpoet生成以下代码行?
val myMap:Map<String, KClass<out Any>>
我在初始化块中初始化myMap。
答案 0 :(得分:1)
Map::class.asClassName()
.parameterizedBy(
String::class.asClassName(),
KClass::class.asClassName().parameterizedBy(WildcardTypeName.producerOf(ANY))
)
确保添加以下导入:
import com.squareup.kotlinpoet.ParameterizedTypeName.Companion.parameterizedBy
有一个IDE错误,可防止自动导入在伴随对象中声明的扩展功能,应在1.3.40中对其进行修复。
答案 1 :(得分:0)
Map::class.asClassName()
.parameterizedBy(String::class.asTypeName(), KClass::class.asClassName().parameterizedBy(TypeVariableName("out Any")))