我在数据类型中有以下数据尚未使用Option [Any] = Some(Map:
Option[Any] = Some(Map(subject -> matt, predicate -> likes, object -> coffee, label -> 1_10))
如何将数据从Map中拉出来,例如我想获取标签。有什么我需要把它转换成?
答案 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"))