Вы можете использовать collect
, чтобы получить значения в Array
:
data.collect{ case n: Number => n.floatValue }
Это пропустит любые нечисловые значения, поэтому добавьте case _
, если вы хотите проверить это.
Я бы также рекомендовал использовать нативные типы Scala, такие как List
и Vector
, а не Array
, которые являются просто оболочкой для массива Java и не очень хорошо подходят для системы типов Scala..
Обратите внимание, что Number
довольно неудобно, потому что это тип Java и на самом деле не входит в иерархию типов Scala.Если вы хотите избежать этого, это также работает:
data.map(_.toString.toFloat)