我需要在代码中使用配置对象。我有一个typealias,如下所示:
typealias MyParam = Triple<String, Any, Type>
然后,我有一个在运行时填充的列表:
val paramsList: MutableList<MyParam> = mutableListOf();
现在,当我尝试填充列表时,我得到一个错误:
paramsList.add(Triple("Strength", 0, Float))
显示“类型不匹配:所需类型。找到浮点型。同伴”“。
我怎样才能避免这个错误呢?我最终需要使用这个Type
来转换一个值。
2条答案
按热度按时间cxfofazt1#
可以使用
::class
来引用Kotlin的KClass
,并使用.java
属性来从其中获取Java的Class
(它实现Type
):对于带有泛型的更复杂的类型,如
List<Float>
,使用typeOf<List<Float>>()
,它给出了对应于List<Float>
的KType
,然后使用javaType从它得到Type
:wdebmtf22#
你可以试着调用一个浮点类型的列表。如果你得到一个错误,分享错误代码,我会帮助你。