我有以下代码:-
val curRow: com.datastax.driver.core.Row
val stats = curRow.getMap[String, Int]("stats", classOf[String], classOf[Int])
stats = Map("d1" -> 1, "d2" -> 0)
stats.get("d1").getOrElse(0)
stats.get("d2").getOrElse(0)
stats.get("d3").getOrElse(0)
我用地图列创建了一个案例类。现在想处理它没有领域。对于“ d3”,如果我只写.get,则得到的错误为None.get,如果尝试使用getOrElse处理它,则无法执行此操作。
type mismatch; found : Any required: Int
在整数情况下,应该如何处理空白字段。
谢谢
答案 0 :(得分:1)
统计信息映射应该是Map [String,Int]而不是Map [String,Integer],因为这将对应于java.lang.Integer。
SELECT
first_name
,last_name
,position
,office
,start_date
,salary
FROM Employees
FOR JSON PATH,ROOT('Employees'),INCLUDE_NULL_VALUES
将输出作为
val stats: Map[String, Int] = Map("d1" -> 1, "d2" -> 9)
stats.get("d1").getOrElse(0)
stats.get("d2").getOrElse(0)
stats.get("d3").getOrElse(0)
因此,一旦进行了更改,就不会收到错误消息。