Как преобразовать java.util.List в список 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]

Ответ 1

import scala.collection.JavaConversions._

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

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

Ответ 2

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

import scala.collection.JavaConverters._

def findAllQuestion():List[Question] = {
  questionDao.getAllQuestions().asScala
}

Ответ 3

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

Ответ 4

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

import scala.collection.JavaConverters._

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

Ответ 5

Начиная с Scala 2.13, пакет scala.collection.JavaConverters помечается как устаревший в пользу scala.jdk.CollectionConverters:

import scala.jdk.CollectionConverters._

// val javaList: java.util.List[Int] = java.util.Arrays.asList(1, 2, 3)
javaList.asScala.toList
// List[Int] = List(1, 2, 3)