У меня есть этот метод Scala с ошибкой ниже. Невозможно преобразовать в список Scala.
def findAllQuestion():List[Question]={
questionDao.getAllQuestions()
}
несоответствие типов; найдено: java.util.List[com.aitrich.learnware.model.domain.entity.Question]
требуется:
scala.collection.immutable.List[com.aitrich.learnware.model.domain.entity.Question]
list
scala
scala-java-interop
бойкод3
источник
источник
Ответы:
сделает за вас неявное преобразование; например:
источник
scala.collection.JavaConversions._
устарел в пользу,scala.collection.JavaConverters._
поэтому этот ответ лучшеscala.jdk.CollectionConverters._
2.13. Подробности можно найти здесь .Вы можете просто преобразовать список с помощью Scala
JavaConverters
:источник
Buffer
является JavaList
, то ничего не будет хорошо! OP требовал преобразования из списка Java List в неизменный список Scala. Выражения, которые ожидают ScalaList
, не будут проверять тип с помощьюBuffer
..toList
поэтому код такойquestionDao.getAllQuestions().asScala.toList
источник
var
с? Кроме того, кажется, что последние две строки можно объединить в однуlist.asScala.toList
var
а неval
если вы неvar list
иval slist
были ненужными. Я думаю, что они усложнили этот ответ, поэтому я объединил их и сделал ответ более простым. @ jijeshvu07 Если вы не согласны, я был бы рад отменить правку и вместо этого отправить это изменение в качестве собственного ответа.Начиная
Scala 2.13
с пакета,scala.collection.JavaConverters
он помечается как устаревший в пользуscala.jdk.CollectionConverters
:источник
Импорт
JavaConverters
, ответ @fynn отсутствовалtoList
источник