首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Kotlin Array<T>不实现Iterable<T>

为什么Kotlin Array<T>不实现Iterable<T>
EN

Stack Overflow用户
提问于 2016-03-11 11:19:19
回答 1查看 3.7K关注 0票数 42

为什么Kotlin中的Kotlin类不实现Iterable

快速查看一下文档就会发现,它已经有了一个iterator()方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-11 11:27:55

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

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

票数 47
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35938906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档