Yar*_*ick -1 compiler-errors intellij-idea kotlin
我正在尝试在 kotlin 中将 List 转换为 LinkedList,这是我的代码,其中包含来自 intellij 的错误
但在 Kotlin REPL 中我可以做这样的事情
我的代码有什么问题吗?
在else分支中,您不返回任何内容,这意味着您返回Unit单例。
Unit不是 的子类型Token。因此,Kotlin 编译器采用Unit共享Token父类:Any(Kotlin 的基类,如ObjectJava 中的基类)。
Unit您应该在 else 分支上抛出 Exception ,而不是返回,以向编译器发出信号,表明这种情况不会发生。
但是,如果您只想忽略额外的字符。您可以在 else 分支上返回 null,并用于mapNotNull过滤:
toParse.mapNotNull { ... }.toCollection(LinkedList<Token>())
另外,您可以使用以下方式组合toCollection和调用:mapmapNotNullTo
toParse.mapNotNullTo(LinkedList<Token>()) { ... }
| 归档时间: |
|
| 查看次数: |
4183 次 |
| 最近记录: |