为什么Kotlin中的Kotlin类不实现Iterable
快速查看一下文档就会发现,它已经有了一个iterator()方法。
发布于 2016-03-11 11:27:55
Kotlin被设计成与Java完全可互操作。Array<X>在运行时和从X[]的角度来看都是X[]。Java数组不实现Iterable,因此Kotlin数组(实际上是相同的)也没有实现。
我们可以通过创建一个与Java数组无关的独立类来使我们的数组实现Iterable。但是,为了保持与Java的兼容性,我们必须执行从此类类型到Java数组和back的隐式转换。由于性能开销和不明确的对象标识语义,隐式转换通常不是理想的方法。在这里,它们也只解决了一半的问题,因为在从Java调用Kotlin代码时,仍然需要手动“方框”数组。这就是为什么认为这种解决办法不可行的原因。
https://stackoverflow.com/questions/35938906
复制相似问题