簡體   English   中英

Java程序轉換為Scala的互操作性問題

[英]Java program convert to scala the interoperability problems

這里發生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列表的接口(或擴展類),則應執行以下操作:

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
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM