我目前正在使用ValueAnimator的ofObject方法(在Android中为ValueAnimator.ofObject(TypeEvaluator evaluator, Object... values)
)在Kotlin文件中工作。
我有一个Kotlin IntArray
,例如fooIntArray,其中包含我需要作为单个对象传递给varargs的值。我试过使用Spread *运算符,如下所示:ValueAnimator.ofObject(someEvaluator, *fooIntArray
,但是类型不正确,并且试图弄清楚如何将fooIntArray转换为*fooIntArray as Array<Any>
这样的东西,但没有运气。
在Java中使用int[]
进行编码时,例如fooIntArray,我能够成功传递int数组的唯一方法是将其像这样强制转换:ValueAnimator.ofObject(someEvaluator, (Object[] fooIntArray)
。
有谁对我如何在Kotlin中实现同一目标有建议?
最佳答案
toTypedArray
函数(在这种情况下,其名称令人遗憾地令人困惑)会将原始整数数组转换为盒装整数数组,然后您可以使用spread运算符将其传递给方法:
ValueAnimator.ofObject(someEvaluator, *fooIntArray.toTypedArray())