def third_list[A](ls: List[A]): A = {
// Code can be changed here
return List(ls(2)) //Error line for return type
}
val l1 = List(1, 2, 3, 4)
println(third_list(l1))
println(third_list(List(1,2,(3,4,5), 6, 7)))
Run Code Online (Sandbox Code Playgroud)
我需要按照返回类型标准返回列表的第三个元素。
我收到类型不匹配错误:
必需找到的列表[A]
ls(2) 不应该返回一个元素类型吗?
这个问题的简单答案是使用lift
:
def third_list[A](ls: List[A]): Option[A] =
ls.lift(2)
Run Code Online (Sandbox Code Playgroud)
这会返回 an Option
,因为您确实希望代码能够工作,即使列表没有三个元素也是如此。处理内部的数据Option
或用于getOrElse
指定默认值。
归档时间: |
|
查看次数: |
281 次 |
最近记录: |