Почему Scala говорит несоответствие типов хорошему определению? - PullRequest
0 голосов
/ 01 ноября 2019

Фрагмент кода,

  var line = Seq.empty[(String,Integer)]
  var fileCount : Int = -1   // good definition
  if (etc) 
      fileCount = tContSmry.getFileCount().toInt  // good cast
  line :+= ("etc", fileCount)  // where the error??

имеет эту ошибку:

error: type mismatch;
found   : Seq[(String, Any)]
required: Seq[(String, Integer)]

PS: с использованием Spark версии 2.2.0.2.6.4.0-91, Scala версии 2.110,8

1 Ответ

7 голосов
/ 01 ноября 2019

Int не Integer. У вас есть line: Seq[(String, Integer)], но вы пытаетесь добавить ("etc", fileCount): (String, Int) к нему. Сообщение об ошибке немного странно, я дам вам это. Integer почти не должно появляться в вашем коде;Вы должны заменить его на Int.

var line = Seq.empty[(String, Int)]
// side note: don't need a var here
val fileCount: Int = if(etc) tContSmry.getFileCount().toInt else -1
line :+= ("etc", fileCount)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...