[英]Java program convert to scala the interoperability problems
Here java list convertion errors are occured 这里发生Java列表转换错误
Scala Code Scala代码
@SuppressWarnings("unchecked")
@Override
def getAllStudents():List[Student] = {
return getSession().createQuery("from Student where isDelete = 'false' ")
.list() **here error occured and that shows below **
}
here i import this statement but no change 在这里,我导入此语句,但没有更改
import scala.collection.JavaConverters._
Error type mismatch; 错误类型不匹配; found : java.util.List[?0] where type ?0 required: scala.collection.immutable.List[com.model.domain.entity.Student]
找到:java.util.List [?0],其中类型为?0必需:scala.collection.immutable.List [com.model.domain.entity.Student]
The Java Code Java代码
@SuppressWarnings("unchecked")
@Override
public List<Student> getAllStudents() {
return getSession().createQuery(
"from Student where isDelete = 'false' ").list();
}
Your own answer is incorrect. 您自己的答案不正确。 Instead, if you are implementing an interface (or extending a class) which needs to return a Java list, you should do this:
相反,如果要实现需要返回Java列表的接口(或扩展类),则应执行以下操作:
def getAllStudents() : java.util.List[Student] = {
getSession().createQuery("from Student where isDelete = 'false' ")
.list()
}
If you don't need Java list here, then you should instead do 如果您不需要此处的Java列表,则应改为
import scala.collection.JavaConverters._
def getAllStudents() : Seq[Student] = {
getSession().createQuery("from Student where isDelete = 'false' ")
.list().asScala
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.