Ich habe diese Scala-Methode mit dem folgenden Fehler. Kann nicht in eine Scala-Liste konvertiert werden.
def findAllQuestion():List[Question]={
questionDao.getAllQuestions()
}
Typfehlanpassung; gefunden: java.util.List[com.aitrich.learnware.model.domain.entity.Question]
erforderlich:
scala.collection.immutable.List[com.aitrich.learnware.model.domain.entity.Question]
list
scala
scala-java-interop
boycod3
quelle
quelle
Antworten:
wird implizite Konvertierung für Sie durchführen; z.B:
quelle
scala.collection.JavaConversions._
wird zugunsten von abgelehnt,scala.collection.JavaConverters._
daher ist diese Antwort besserscala.jdk.CollectionConverters._
ab 2.13 veraltet . Details finden Sie hier .Sie können die Liste einfach mit Scala konvertieren
JavaConverters
:quelle
Buffer
ein Java istList
, dann ist nichts in Ordnung! Das OP wollte eine Konvertierung von Java List in eine unveränderliche Scala List. Ausdrücke, die eine Scala erwarten,List
werden nicht mit a typecheckBuffer
..toList
so lautet der CodequestionDao.getAllQuestions().asScala.toList
quelle
var
s? Es scheint auch, dass die letzten beiden Zeilen zu einer einzigen Zeile kombiniert werden könntenlist.asScala.toList
var
anstattval
wenn Sie die Variable nichtvar list
als auchval slist
waren unnötig. Ich denke, sie haben diese Antwort komplizierter gemacht, also habe ich sie konsolidiert und die Antwort einfacher gemacht. @ jijeshvu07 Wenn Sie nicht einverstanden sind, würde ich gerne die Bearbeitung rückgängig machen und diese Änderung stattdessen als eigene Antwort einreichen.Ab
Scala 2.13
dem Start wird das Paketscala.collection.JavaConverters
als veraltet markiert, und zwar zugunsten vonscala.jdk.CollectionConverters
:quelle
Importieren
JavaConverters
, die Antwort von @fynn fehltetoList
quelle