4

ここでJavaリストの変換エラーが発生します

スカラコード

 @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();
    }
4

1 に答える 1

6

あなた自身の答えは間違っています。代わりに、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
 }
于 2013-07-04T07:50:40.567 に答える