Как конвертировать java.утиль.Список в список Scala


У меня есть этот метод 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]

4 80

4 ответа:

import scala.collection.JavaConversions._

Сделает неявное преобразование для вас; например:

var list = new java.util.ArrayList[Int](1,2,3)
list.foreach{println}

Вы можете просто преобразовать список, используя Scala JavaConverters:

import scala.collection.JavaConverters._

def findAllQuestion():List[Question] = {
  questionDao.getAllQuestions().asScala
}
def findAllStudentTest(): List[StudentTest] = { 
  studentTestDao.getAllStudentTests().asScala.toList
} 

Импорт JavaConverters, ответ @fynn отсутствовал toList

import scala.collection.JavaConverters._

def findAllQuestion():List[Question] = {
  //           java.util.List -> Buffer -> List
  questionDao.getAllQuestions().asScala.toList
}