У меня есть список в scala, называемый l: List [AType], который я хочу изменить в список [String].Лучший способ изменить тип списка в scala
Это может показаться очень грязным, неэффективным подходом, но я не совсем уверен в наилучшем способе этого. Мой код был:
var result = new Array[String]("a","b")
l foreach { case a => result = result :+ (a.toString().toUpperCase()); }
result toList
Я не уверен, если это то, где моя ошибка состоит в том, потому что это не дает мне ничего, это даже не печатать ничего, даже если я положил заявление для печати внутри цикла.
Так что я решил изменить это более настоятельной образом:
for(i <- 0 to l.length) {
result.update(i, l(i).toString)
}
На этот раз я вижу вещи, которые я хочу видеть, когда печать внутри цикла, но в конце концов программа разбился с ошибкой IndexOutOfBound ,
Есть ли более эффективный и лучший способ сделать это?
Спасибо!
А если это из другого типа? Я говорю l.map (_. ToString) .map (_. ToUpperCase) или l.map (_. ToString._toUpperCase)? Последний не работал для меня ... –
@the_great_monkey, то это 'l.map (_. ToString.toUpperCase)' – Moritz
'l.map (.toString) .map (.toUpperCase)' неверно Scala. 'l.map (_. toString.toUpperCase)' работает. У вас был паразитный _ между точкой и toUpperCase. –