Eu tenho esse método Scala com o erro abaixo. Não é possível converter em uma lista Scala.
def findAllQuestion():List[Question]={
questionDao.getAllQuestions()
}
tipo incompatível; encontrado: java.util.List[com.aitrich.learnware.model.domain.entity.Question]
obrigatório:
scala.collection.immutable.List[com.aitrich.learnware.model.domain.entity.Question]
list
scala
scala-java-interop
boycod3
fonte
fonte
Respostas:
fará a conversão implícita para você; por exemplo:
fonte
scala.collection.JavaConversions._
foi descontinuado em favor descala.collection.JavaConverters._
então esta resposta é melhorscala.jdk.CollectionConverters._
partir de 2.13. Os detalhes podem ser encontrados aqui .Você pode simplesmente converter a lista usando o do Scala
JavaConverters
:fonte
Buffer
é um JavaList
, então nada está bem! O OP queria uma conversão da Lista Java em uma Lista Scala imutável. Expressões que esperam uma ScalaList
não typecheck com umBuffer
..toList
então o código équestionDao.getAllQuestions().asScala.toList
fonte
var
s? Além disso, parece que as duas últimas linhas poderiam ser combinadas em uma única linhalist.asScala.toList
var
vez deval
se você não está modificando a variávelvar list
eval slist
eram desnecessários. Acho que eles complicaram essa resposta, então os consolidei e tornei a resposta mais simples. @ jijeshvu07 Se você discordar, terei o prazer de desfazer a edição e enviar a alteração como sua própria resposta.A partir de
Scala 2.13
, o pacotescala.collection.JavaConverters
está marcado como obsoleto em favor descala.jdk.CollectionConverters
:fonte
Importar
JavaConverters
, a resposta de @fynn estava faltandotoList
fonte