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指定默认值。