将Kotlin IntArray转换为ValueAnimator所需的Java Object []

时间:2018-03-08 16:58:43

标签: java kotlin interop

我目前正在使用ValueAnimator的ofObject方法在Kotlin文件中工作:ValueAnimator.ofObject(TypeEvaluator evaluator, Object... values)在Android中。

我有一个Kotlin IntArray例如.. fooIntArray,它包含我需要作为单个对象传递给varargs的值。我已尝试使用Spread *运算符,如下所示:ValueAnimator.ofObject(someEvaluator, *fooIntArray,但类型不正确,我试图弄清楚如何将fooIntArray转换为像*fooIntArray as Array<Any>这样的运气而没有运气。< / p>

使用int[]在Java中工作时。 fooIntArray,我能够成功传递int数组的唯一方法是将其转换为:ValueAnimator.ofObject(someEvaluator, (Object[] fooIntArray)

有没有人建议如何在Kotlin中实现同样的目标?

1 个答案:

答案 0 :(得分:4)

toTypedArray函数(不幸的是,这个名称令人困惑)将原始整数数组转换为一个盒装整数数组,之后你可以使用扩展运算符将它传递给方法:

ValueAnimator.ofObject(someEvaluator, *fooIntArray.toTypedArray())