我是scala的新手,我试图从另一个从scala对象获得的列表构造一个列表,这是我的模型:
case class Session(
_id: Option[String],
participants: Option[Seq[Participant]])
case class Participant(
contact: Contact,
participantStatus: Option[String])
Contact.scala
case class Contact(
firstName: Option[FirstName],
lastName: Option[LastName],
address: Option[Address])
地址.scala
case class Address(
email: Option[String])
使用此循环:
for (s <- session.participants) println(s)
我得到:
List(Participant(Contact(Some(FirstName(5m,Some(5),Some(5))),Some(LastName(5,Some(5),Some(5))),Some(Address(None,None,None,None,None,Some(5),Some(5),Some(5),Some([email protected]),None)),None,None),None), Participant(Contact(Some(FirstName(contact1,Some(contact1),Some(contact1))),Some(LastName(contact1,Some(contact1),Some(contact1))),Some(Address(None,None,None,None,None,Some(1),Some(1),Some(1),Some([email protected]),None)),None,None),None))
当我尝试时:println(s.contact)
我得到:value contact is not a member of Seq[models.Session.Participant]
您的s
变量将从session.participants
具有类型的变量中取出Option[Seq[Participant]]
,因此得到Seq[Participant]
。如果要遍历参与者,则需要一个列表/序列,因此:
val sessionParticipants = session.participants.getOrElse(Seq.empty)
for (s <- sessionParticipants) println(s)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句