我应该如何使用我自己的类型形成列表属性类型

时间:2018-04-26 15:43:20

标签: kotlin kotlinpoet

我想在最终的kotlin代码下面形成

val participants: List<AbstractParty>

我尝试在kotlinpoet中使用下面的代码,但它显示错误,我认为这是不正确的,但我不知道应该如何解决它。任何人都可以帮忙吗?感谢。

PropertySpec.builder("participants", List<ClassName("AbstractParty">)

1 个答案:

答案 0 :(得分:2)

根据您是否有对类的引用或者是否需要从字符串创建其名称,您可以执行以下操作:

PropertySpec.builder("participants",
     ParameterizedTypeName.get(List::class, AbstractParty::class)
).build()

或者这个:

PropertySpec.builder("participants",
    ParameterizedTypeName.get(
            List::class.asClassName(),
            ClassName("some.pckg.name", "AbstractParty"))
).build()

提示找出这些东西:KotlinPoet有相当多的测试,你可以在那里找到几乎所有东西的例子。