Ich habe diese Scala Methode mit dem folgenden Fehler. Kann nicht in eine Scala Liste konvertieren.
def findAllQuestion():List[Question]={
questionDao.getAllQuestions()
}
typenkonflikt; gefunden: Java.util.List[com.aitrich.learnware.model.domain.entity.Question]
erforderlich: scala.collection.immutable.List[com.aitrich.learnware.model.domain.entity.Question]
import scala.collection.JavaConversions._
wird implizite Konvertierung für Sie tun; z.B.:
var list = new Java.util.ArrayList[Int](1,2,3)
list.foreach{println}
Sie können die Liste einfach mit dem JavaConverters
von Scala konvertieren:
import scala.collection.JavaConverters._
def findAllQuestion():List[Question] = {
questionDao.getAllQuestions().asScala
}
def findAllStudentTest(): List[StudentTest] = {
studentTestDao.getAllStudentTests().asScala.toList
}
JavaConverters
importieren, die Antwort von @fynn fehlte toList
import scala.collection.JavaConverters._
def findAllQuestion():List[Question] = {
// Java.util.List -> Buffer -> List
questionDao.getAllQuestions().asScala.toList
}
Ab Scala 2.13
Wird das Paket scala.collection.JavaConverters
Als veraltet zu Gunsten von scala.jdk.CollectionConverters
markiert:
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)