-1
A
回答
2
在else
分支,你不返回任何东西,这意味着你返回Unit
单身。 Unit
不是Token
的子类型。因此,Kotlin编译器需要Unit
和Token
共享父类:Any
(Kotlin的基类,与Java中的Object
类似)。
而不是返回Unit
,你应该在else分支上抛出Exception来向编译器发出它不能发生的信号。
但是,如果你只是想忽略多余的字符。您可以在else分支返回null,并使用mapNotNull
过滤:
toParse.mapNotNull { ... }.toCollection(LinkedList<Token>())
此外,您还可以使用mapNotNullTo
结合toCollection
和map
电话:
toParse.mapNotNullTo(LinkedList<Token>()) { ... }
1
好吧,我想通了,何时有返回类型Any,因为else分支返回Unit,而其他分支Token。所以intellij试图告诉我,这是类型不匹配错误
相关问题
- 1. 转换Java来科特林
- 2. 转换Array对科特林
- 3. 科特林上转换为通用类
- 4. 转换科特林谓词的Java
- 5. 科特林:差异收集
- 6. 科特林无法在可流动
- 7. 我无法理解在科特林
- 8. 科特林访问为什么在科特林的Java类
- 9. 方法hashMapOf()在科特林
- 10. 与科特林
- 11. 在科特林
- 12. 在科特林
- 13. 在科特林
- 14. 为什么==在科特林
- 15. 转换“可赎回<T>”的Java方法科特林
- 16. 科特林:ArrayIndexOutOfBoundsException异常时DispatchTask转换为字符串
- 17. java.lang.Integer中不能转换为java.lang.Long中在科特林(当初始值为null)
- 18. 与科特林收集物品流
- 19. 转换映射到地图列表中科特林
- 20. 使用科特林
- 21. 科特林,对数
- 22. 科特林+春AliasFor
- 23. 使用科特林
- 24. 我有科特林
- 25. 如何科特林
- 26. 科特林:泛型
- 27. 科特林性能
- 28. 科特林合成扩展视图
- 29. 科特林在Android Studio中
- 30. 科特林:Android Studio中
请发表您的代码文字(+错误信息)不作为截图。其他人无法搜索文字 –