将拆分的字符串数组转换为Scala中的集合

时间:2017-08-29 22:05:11

标签: scala

在下一个Scala函数中:

def usersForDepartments(colDeptIds: Option[String]) = Action.async {
    request => {
                 println(colDeptIds)
                 for {
                        users <- Users.getAll(u => u.department in (colDeptIds.getOrElse("").split(";").toSet))
                      }    yield Ok( Json.stringify(convertUsersToJsonOrig(users)))
                }
     }

colDeptIds将具有如下值:&#34; 001&#34;,&#34; 001; 002; 003&#34;。即它将包含一个包含数字id的字符串,如001,002,由&#34;;&#34;分隔。 每个用户都有一个名为department的字段。此功能的目标是让所有用户获得部门价值&#34;包含&#34;在colDeptIds中,但这不是该字符串中任何id的正确子字符串。为了解决这个问题,我试图使用:

将colDeptIds转换为一个集合
(colDeptIds.getOrElse("").split(";").toSet)

但是我收到了错误:

  scala:82: polymorphic expression cannot be instantiated to expected type;
  [error]  found   : [B >: String]scala.collection.immutable.Set[B]
  [error]  required: slick.lifted.Query[slick.lifted.Rep[?], ?, ?]
  [error]                                         users <- Users.getAll(u => u.department in (colDeptIds.getOrElse("").split(";").toSet))

请帮忙吗?这个Scala的东西可能会令人困惑!

0 个答案:

没有答案