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

Converting Kotlin IntArray to Java Object[] required by ValueAnimator

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

我有一个 Kotlin IntArray 例如 fooIntArray,它包含我需要作为单个对象传递给可变参数的值。我试过如下使用 Spread * 运算符:ValueAnimator.ofObject(someEvaluator, *fooIntArray,但类型不正确,我试图弄清楚如何将 fooIntArray 强制转换为 *fooIntArray as Array<Any> 之类的东西,但没有成功。

在 Java 中使用 int[] 例如。 fooIntArray,我能够成功传递 int 数组的唯一方法是像这样转换它:ValueAnimator.ofObject(someEvaluator, (Object[] fooIntArray)

有没有人建议我如何在 Kotlin 中实现同样的事情?

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

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