gpt4 book ai didi

types - 为什么 Kotlin Array 不实现 Iterable

转载 作者:IT老高 更新时间:2023-10-28 13:28:46 28 4
gpt4 key购买 nike

Array<T> 为什么不呢?类(class) Kotlin实现 Iterable<T> ?

快速浏览documentation显示它已经有一个 iterator() 方法也是。

最佳答案

Kotlin 旨在与 Java 完全互操作。 Array<X>X[]无论是在运行时还是从 Java 的角度来看。 Java 数组不实现 Iterable ,所以 Kotlin 数组(实际上是相同的)也不一样。

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

关于types - 为什么 Kotlin Array<T> 不实现 Iterable<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35938906/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com