这里出现java列表转换错误
Scala 代码
@SuppressWarnings("unchecked")
@Override
def getAllStudents():List[Student] = {
return getSession().createQuery("from Student where isDelete = 'false' ")
.list() **here error occured and that shows below **
}
这里我导入了这条语句但是没有改变
import scala.collection.JavaConverters._
错误 类型不匹配;发现:java.util.List[?0] 其中类型 ?0 需要: scala.collection.immutable.List[com.model.domain.entity.Student]
Java 代码
@SuppressWarnings("unchecked")
@Override
public List<Student> getAllStudents() {
return getSession().createQuery(
"from Student where isDelete = 'false' ").list();
}
最佳答案
您自己的回答不正确。相反,如果您要实现一个需要返回 Java 列表的接口(interface)(或扩展一个类),您应该这样做:
def getAllStudents() : java.util.List[Student] = {
getSession().createQuery("from Student where isDelete = 'false' ")
.list()
}
如果您不需要在这里需要 Java 列表,那么您应该这样做
import scala.collection.JavaConverters._
def getAllStudents() : Seq[Student] = {
getSession().createQuery("from Student where isDelete = 'false' ")
.list().asScala
}
关于java程序转scala的互操作性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17462137/