Types 为什么';t Kotlin阵列<;T>;实施Iterable<;T>;

Types 为什么';t Kotlin阵列<;T>;实施Iterable<;T>;,types,interface,kotlin,Types,Interface,Kotlin,为什么Kotlin中的类没有实现 快速查看一下,就会发现它也已经有了一个方法。Kotlin被设计成可以与Java完全互操作数组在运行时和从Java的角度来看都是X[]。Java数组不实现Iterable,因此Kotlin数组(实际上是相同的)也不实现 我们可以通过创建与Java数组无关的独立类,使数组实现Iterable。然而,为了保持与Java的兼容性,我们必须执行从这种类型到Java数组的隐式转换。由于性能开销和对象标识语义不明确,隐式转换通常不是理想的方法。在这里,它们也只能解决问题的一半

为什么
Kotlin
中的类没有实现


快速查看一下,就会发现它也已经有了一个方法。

Kotlin被设计成可以与Java完全互操作<代码>数组在运行时和从Java的角度来看都是
X[]
。Java数组不实现
Iterable
,因此Kotlin数组(实际上是相同的)也不实现


我们可以通过创建与Java数组无关的独立类,使数组实现
Iterable
。然而,为了保持与Java的兼容性,我们必须执行从这种类型到Java数组的隐式转换。由于性能开销和对象标识语义不明确,隐式转换通常不是理想的方法。在这里,它们也只能解决问题的一半,因为在从Java调用Kotlin代码时,仍然需要手动“装箱”数组。这就是为什么这样的解决方案不被认为是可行的。

添加:将为您提供一个包装器对象,它是
Iterable
。除了
asIterable
,还有一个。如果不能实现数组的通用函数,一个解决方案是尽可能使用
列表
接口