scala – 如果列表不为空或返回空列表,则返回尾部

从电子邮件列表中我得到2个值:

>列表头部的选项
>其余人的名单

scala中编写代码的惯用方法是什么?到目前为止我有

val primaryEmail = emails.headOption
val conf = Map[String,Any](
  "email" -> primaryEmail,"additionalEmails" -> 
     primaryEmail.map(_ => emails.tail).getorElse(List())
)

编辑:至于为什么有任何:我们使用GSON进行json序列化,并在内部将所有集合转换为java集合并将它们传递给jsonSerializationContext.serialize,其中有java.lang.Object作为参数,所以Any适合我们.

解决方法

我可能会删除一个元素(如果您确定第一个元素始终是主电子邮件).像这样:

val conf = Map[String,Any](
  "email" -> emails.headOption,"additionalEmails" -> emails.drop(1)
)

如果主电子邮件不在列表中(列表为空),则不会出现异常.

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...