gpt4 book ai didi

Kotlin:来自 Sequence 的 Iterable

转载 作者:行者123 更新时间:2023-12-02 13:22:38 24 4
gpt4 key购买 nike

在 Kotlin 中,我怎样才能获得 Iterable<T>来自 Sequence<T>或来自 Stream<T> ?

在 Java 中,我可以得到 Iterable<T> s 通过以下方法,但等效的 Kotlin 代码不起作用:

final Stream<T> s = /*get Stream*/;
final Iterable<T> i1 = s::iterator;
final Iterable<T> i2 = () -> s.iterator();

最佳答案

由于 Kotlin 具有一流的函数类型,因此仅提供 lambda 或方法引用不足以将表达式强制转换为某些 Java 接口(interface)。但是,有一个简洁的语法来实现单抽象方法接口(interface):

val s: Stream<T> = /* get a stream */
val i = Iterable { s.iterator() }

关于Kotlin:来自 Sequence<T> 的 Iterable<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51463968/

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