복붙노트

[SCALA] 스칼라리스트를 java.util.List를 변환하는 방법

SCALA

스칼라리스트를 java.util.List를 변환하는 방법

나는 아래의 오류이 스칼라 방법이있다. 스칼라 목록으로 변환 할 수 없습니다.

 def findAllQuestion():List[Question]={
   questionDao.getAllQuestions()
 } 

불일치 입력; 발견 된 java.util.List [com.aitrich.learnware.model.domain.entity.Question]을 필수 :  scala.collection.immutable.List [com.aitrich.learnware.model.domain.entity.Question]

해결법

  1. ==============================

    1.

    import scala.collection.JavaConversions._
    

    당신을 위해 암시 적 변환을 할 것입니다; 예컨대 :

    var list = new java.util.ArrayList[Int](1,2,3)
    list.foreach{println}
    
  2. ==============================

    2.당신은 단순히 스칼라의 JavaConverters를 사용하여 목록을 변환 할 수 있습니다 :

    당신은 단순히 스칼라의 JavaConverters를 사용하여 목록을 변환 할 수 있습니다 :

    import scala.collection.JavaConverters._
    
    def findAllQuestion():List[Question] = {
      questionDao.getAllQuestions().asScala
    }
    
  3. ==============================

    3.

    def findAllStudentTest(): List[StudentTest] = { 
      studentTestDao.getAllStudentTests().asScala.toList
    } 
    
  4. ==============================

    4.가져 오기 JavaConverters, @fynn의 반응은 toList 누락 된

    가져 오기 JavaConverters, @fynn의 반응은 toList 누락 된

    import scala.collection.JavaConverters._
    
    def findAllQuestion():List[Question] = {
      //           java.util.List -> Buffer -> List
      questionDao.getAllQuestions().asScala.toList
    }
    
  5. ==============================

    5.scala.jdk.CollectionConverters 찬성되지 않는 것으로 스칼라 2.13를 시작, 패키지 scala.collection.JavaConverters가 표시됩니다 :

    scala.jdk.CollectionConverters 찬성되지 않는 것으로 스칼라 2.13를 시작, 패키지 scala.collection.JavaConverters가 표시됩니다 :

    import scala.jdk.CollectionConverters._
    
    // val javaList: java.util.List[Int] = java.util.Arrays.asList(1, 2, 3)
    javaList.asScala.toList
    // List[Int] = List(1, 2, 3)
    
  6. from https://stackoverflow.com/questions/16162090/how-to-convert-a-java-util-list-to-a-scala-list by cc-by-sa and MIT license