Saya memiliki metode Scala ini dengan kesalahan di bawah ini. Tidak dapat diubah menjadi daftar Scala.
def findAllQuestion():List[Question]={
questionDao.getAllQuestions()
}
jenis ketidakcocokan; ditemukan: java.util.List[com.aitrich.learnware.model.domain.entity.Question]
wajib:
scala.collection.immutable.List[com.aitrich.learnware.model.domain.entity.Question]
list
scala
scala-java-interop
boycod3
sumber
sumber
Jawaban:
akan melakukan konversi implisit untuk Anda; misalnya:
sumber
scala.collection.JavaConversions._
tidak digunakan lagiscala.collection.JavaConverters._
sehingga jawaban ini lebih baikscala.jdk.CollectionConverters._
mulai 2.13. Detailnya dapat ditemukan di sini .Anda cukup mengonversi Daftar menggunakan Scala's
JavaConverters
:sumber
Buffer
adalah JavaList
, maka tidak ada masalah! OP menginginkan konversi dari Daftar Java ke Daftar Scala yang tidak dapat diubah. Ekspresi yang mengharapkan ScalaList
tidak akan dicek denganBuffer
..toList
sehingga kodenya adalahquestionDao.getAllQuestions().asScala.toList
sumber
var
s? Juga, tampaknya dua baris terakhir dapat digabungkan menjadi satu barislist.asScala.toList
var
alih - alihval
jika Anda tidak memodifikasi variabelvar list
danval slist
tidak perlu. Saya pikir mereka membuat jawaban ini lebih rumit, jadi saya mengkonsolidasikan mereka dan membuat jawabannya lebih sederhana. @ jijeshvu07 Jika Anda tidak setuju, saya akan dengan senang hati membatalkan pengeditan dan mengirimkan perubahan ini sebagai jawabannya.Dimulai
Scala 2.13
, paketscala.collection.JavaConverters
ditandai sebagai tidak berlaku lagi untukscala.jdk.CollectionConverters
:sumber
Impor
JavaConverters
, tanggapan @fynn hilangtoList
sumber