вы должны сказать компилятору, что тип по Any
элемент, вы пытаетесь отобразить это. Вы можете сделать это, используя asInstanceOf
.
val t: Array[(Any, Long, Long)] = Array((20090216,152,2743012), (20090711,83,2743012))
t.map(x=> x._1.asInstanceOf[Number].longValue)
Это выходы:
Array[Long] = Array(20090216, 20090711)
Вы, вероятно, нужно будет охранять это в Try
, чтобы убедиться, что вы не получаете литья исключений.
Edit:
Если вы только хотите иметь массив типа (Long, Long, Long)
самый простой способ, чтобы просто преобразовать весь массив. Теперь снова вы должны обернуть это в Try
.
val t: Array[(Any, Long, Long)] = Array((20090216,152,2743012), (20090711,83,2743012))
val x = t.asInstanceOf[Array[(Long, Long, Long)]]
В этом выходы:
Array[(Long, Long, Long)] = Array((20090216,152,2743012), (20090711,83,2743012))
Возможный дубликат и решение: http://stackoverflow.com/a/11716183/4105457 – Flown