2016-03-03 128 views
0

这是我的Java代码,斯卡拉列表中的addAll方法

public void test(List<Map> courses) 
    { 
    .... 

    List<Map> data = (List<Map>) response.getBody(); 
    courses.addAll(data); 

    pageNo = pagination(response.getHeaders()); 
    if(pageNo!=null) 
    { 
      params.put("pageNo", pageNo); 
      pAccountCourses(params, courses); 
     } 
    } 

如何将其转化成阶列表[AccountCourses],这样我可以添加courseListaccountCourseslist

def test(courseList: java.util.ArrayList[AccountCourses]) { 
...... 
//getting json data 
var pageNo: String = null 
val body = response.body 
val json = parse(body) 

var accountCourseslist = json.extract[java.util.ArrayList[AccountCourses]] 
    accountCourseslist.addAll(courseList) 

if (pageNo != null) { 
      params.put("pageNo", pageNo); 
      test(accountCourseslist); 
      } 
} 

case class AccountCourses(id: Int) //case class 

如何在scala中执行list的addAll操作?

回答

1
  1. 如何将java.util.ArrayList[AccountCourses]转换成scala列表?

    使用scala.collection.JavaConverters._

    import scala.collection.JavaConverters._ 
    val javaList = new java.util.ArrayList[Int]() 
    val scalaList = javaList.asScala 
    val scalaImmutableList = scalaList.toList // will return immutable copy 
    
  2. 如何执行阶名单中的addAll操作?

    使用++=如果它是不可变的名单上可变集合或++

    scalaList ++= List(1,2,3,4,5) // will also update javaList 
    val result = scalaImmutableList ++ List(1,2,3,4,5) // will return new copy