我是Scala的新手。请帮助我这种情况。 我上课:
case class SubClass(
name: String, age: Int
)
接下来,我有一个Option实例:
Option[Seq[Seq[Seq[SubClass]]]
我在Option中添加了一个元素:SubClass('no1',1)
如何从上述选项中获得价值age
?
答案 0 :(得分:1)
那里有很多Seq的方法,但是这里有:
val stuff: Option[Seq[Seq[Seq[SubClass]]] = ???
stuf.get.head.head.head.age
因此,这里发生的是,您正在获取选项内的内容,然后获取每个Seq的第一个元素,然后访问SubClass的值年龄。 这真的不是一个好主意,因为可能发生很多事情,该选项可能为None(无),并且会中断,并且进入那些可能为空的Seq中的一个也会中断。
因此,您可以使用.getOrElse和headOption之类的东西来覆盖这些情况,甚至可以映射所有这些数据结构,或者使用for,它们的作用与map相同,但更加干净。
由于您是Scala的新手,因此建议您在开始工作之前进行一些搜索。
无论如何,希望能有所帮助。