Функция не возвращает null, когда все элементы null
У меня есть функция, которая должна возвращать null, если все элементы массива null, однако вместо этого она возвращает значение 0.
val ratio_pos_since_first = udf((lst: Seq[String]) => {
val nonNullLst = lst.filter(_ != null).map(_.toDouble);
val cntNotNull = nonNullLst.size.toDouble;
val indexNNValue = lst.find(_ != null).map(lst.indexOf).getOrElse(0);
Try(cntNotNull / (lst.size - indexNNValue)) match {
case Success(value) => Some(value);
case Failure(exception) => None
};
})
Как я могу сделать так, чтоб функция возвращала null?
Ответы (1 шт):
Автор решения: Vasily802
→ Ссылка
Как-то так:
if (lst.forAll(_.isNull)) return null
Метод Seq, который возвращает true только, если каждый элемент отвечает предикату, и предикат который проверяет null.