我目前正在使用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())

10-06 08:48