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

标签 java kotlin interop

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

我有一个 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())

关于java - 将 Kotlin IntArray 转换为 ValueAnimator 所需的 Java Object[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49178510/

相关文章:

android - 尝试使用 Android Studio 生成 Kotlin 应用程序时出现问题

transactions - Jooq 交易 : connections are not released to pool, 如果在交易中抛出异常

java - 具有两个线程的控制台应用程序

java - 使用 InheritanceType.JOINED 时如何避免空子表?

javascript - 动态 YASnippet,插入方法名称和参数

java Float.MAX_VALUE 转 Double

android - (DAGGER-ANDROID) 不能在 Espresso 测试中使用 @Inject 并且不能使用 mockWebServer

c# - 无法解释的内存泄漏与 Marshal.StructureToPtr

java - 使用JNA将 native C函数映射到Java接口(interface)时出现指针问题

.net - Excel COM 互操作 - tlbimp 与主要 WrapperTool