この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]
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
}
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)