Предположим, у меня есть карта m: Map[Any, Int]
. Теперь я хотел бы взять только записи (String, Int)
из m
и создать новую карту m1: Map[String, Int]
с этими записями.Предупреждение о непроверенных типах в Scala?
Я пытаюсь сделать следующее:
val m1: Map[String, Int] = m collect {case e:(String, Int) => e}
Кажется, работает, но я получаю предупреждение: не переменной типа аргумент Строка в типе шаблона (String, Int) снят, так как она удаляется стирание.
Как я могу избавиться от предупреждения?
Или даже' е @ (_: String, _ : Int) => e', я думаю. –
@ DanielC.Sobral, который дает несоответствие типов в REPL, но интересно это следует: «Примечание: Any>: String, но карта признаков инвариантна по типу A. Вы можете изучить тип подстановочного символа, такой как' _>: String' " – virtualeyes
О, я вижу. 'e' будет только элементами' (String, Int) ', но его тип не изменится. –