Дескриптор пустого значения для поля карты в Scala - PullRequest
0 голосов
/ 16 октября 2018

У меня есть следующий код: -

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

Что я должен сделать, чтобы обработать пустое поле в случае целого числа.

Спасибо,

1 Ответ

0 голосов
/ 16 октября 2018

Карта статистики должна быть Map [String, Int], а не Map [String, Integer], так как это будет соответствовать java.lang.Integer.

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)

выводит как

stats: Map[String,Int] = Map(d1 -> 1, d2 -> 9)
res0: Int = 1
res1: Int = 9
res2: Int = 0

Следовательно, как только вы сделаете это изменение, вы не получите ошибку.

...