今天在业务开发中遇到需要Scala集合转为Java集合的场景;
因为业务全部是由Scala开发,但是也避免不了调用Java方法的场景,所以将此记录下来加深记忆;
import scala.collection.JavaConverters._ //需要导入这个包
val javaRequest: java.util.List[TAddShopRequest] = request.asJava//将Scala集合转为Java集合当作参数传入addShop方法
val res: DadaApiResponse = example.addShop(javaRequest)
val resultJson = gson.toJson(res)// gson = new Gson()
val response: AddShopResponse = gson.fromJson(resultJson,classOf[AddShopResponse])//gson的这个方法特别好用,直接将返回映射成我们自己定义的AddShopResponse实体
val javaSuccessList = response.result.successList.asScala//返回的Java集合也要转换为Scala集合,因为接口的返回是Scala类型的集合
顺便再说一下Json处理的一些思路,Json转换为对象:
1.得到Json字符串
2.将其转换为JsonObject
3.通过getJsonObject获取里面的元素
4.如果Json里面有数组,则使用getJsonArray
5.get获取最外一层