从选项中获取价值[任意] =一些(地图)

时间:2016-07-22 00:14:08

标签: scala

我在数据类型中有以下数据尚未使用Option [Any] = Some(Map:

Option[Any] = Some(Map(subject -> matt, predicate -> likes, object -> coffee, label -> 1_10))

如何将数据从Map中拉出来,例如我想获取标签。有什么我需要把它转换成?

1 个答案:

答案 0 :(得分:2)

如果您知道地图的类型(或者,至少是标签的类型及其值),您可以使用asInstanceOf将其拉出来:

val a = Option[Any](Map("a" -> "b", 1 -> 2))

a.flatMap(_.asInstanceOf[Map[Int, Int]].get(1))
// Some(2): Option[Int]

通常最好不必使用asInstanceOf,而是先预先确定类型...然后你可以更简单地使用:

a.flatMap(_.get("label"))
相关问题