Intellij idea Can';t转换为kotlin中的集合

Intellij idea Can';t转换为kotlin中的集合,intellij-idea,compiler-errors,kotlin,Intellij Idea,Compiler Errors,Kotlin,我正在尝试将列表转换为kotlin中的LinkedList,下面是我的代码,其中包含来自intellij的错误 但是在Kotlin REPL我可以做这样的事情 我的代码怎么了?好的,我知道了,什么时候有返回类型Any,因为else分支返回单元,而其他分支标记。因此intellij试图告诉我,这是else分支中的类型不匹配错误,您不返回任何内容,这意味着您返回了单元单例。 单元不是令牌的子类型。因此,Kotlin编译器采用单元和令牌共享父类:任何(Kotlin的基类,类似于Java中的对象)

我正在尝试将列表转换为kotlin中的LinkedList,下面是我的代码,其中包含来自intellij的错误

但是在Kotlin REPL我可以做这样的事情


我的代码怎么了?

好的,我知道了,什么时候有返回类型Any,因为else分支返回单元,而其他分支标记。因此intellij试图告诉我,这是
else
分支中的类型不匹配错误,您不返回任何内容,这意味着您返回了
单元
单例。
单元
不是
令牌
的子类型。因此,Kotlin编译器采用
单元
令牌
共享父类:
任何
(Kotlin的基类,类似于Java中的
对象

您不应该返回
单元
,而应该在else分支上抛出异常,以向编译器发出它不能发生的信号

但是,如果您只想忽略额外的字符。您可以在else分支上返回null,并使用
mapNotNull
进行筛选:


toParse.mapNotNull{…}.toCollection(LinkedList())

此外,您还可以使用
mapNotNullTo
toCollection
map
调用组合起来:


toParse.mapNotNullTo(LinkedList()){…}

请将您的代码作为文本(+错误消息)而不是屏幕截图发布。其他人无法搜索文本