У меня есть класс дела
case class DDD(abc: String, v1: String, v2: String)
, и у меня есть кортеж на основе DDD (схема).Итак, представьте себе
val sample1 = DDD("a1", "v0001", "v0002")
, а затем я делаю карту из значений этого кортежа, как это
val tMap = Map("col_name" -> sample1.abc, "col_old" -> sample1.v1, "col_new" -> sample1.v2)
Но могут быть некоторые случаи, когда мои значения v1 или v2 в моих кортежахможет быть пустым / пустым / пустым, и если значение отсутствует, я не хочу добавлять эту пару ключ-значение на свою карту, поэтому Например
If
val sample2 = DDD("a1", "null", "v0002")
Then
val tMap = Map("col_name" -> sample1.abc, "col_new" -> sample1.v2)
Я могуЧтобы достичь этого, просто используйте условие, как показано ниже:
val sample2 = DDD("a1", "null", "v0002")
val tMap = Map("col_old" -> (if(sample2.v1 != "null") sample2.v1),
"col_new" -> (if(sample2.v2 != "null") sample2.v2
"abc" -> (if(sample2.abc != "null") sample2.abc
)
Но нужно сделать и понять, как я могу добиться этого более чистым и функциональным способом.???
Спасибо