今天在业务开发中遇到需要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获取最外一层

scala集合与java集合的转换应用的更多相关文章

  1. Scala集合和Java集合对应转换关系

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 用Scala编码的时候,经常会遇到scala集合和Java集合互相转换的case,特意mark一 ...

  2. java集合系列——java集合概述(一)

    在JDK中集合是很重要的,学习java那么一定要好好的去了解一下集合的源码以及一些集合实现的思想! 一:集合的UML类图(网上下载的图片) Java集合工具包位置是java.util.* 二:集合工具 ...

  3. 【集合】Java集合框架

    Java类库中帮助我们在程序设计中实现了传统的数据结构.本文章跳过理论部分,主要介绍如何使用标准库中的集合类. 1 将集合的接口与实现分离 Java集合类库将接口与实现分离.以队列为例: public ...

  4. java 集合框架 Java集合&List的实现

    原文: https://blog.csdn.net/u012658346/article/details/50917068 一.java集合类图如下所示: 上述类图中,实线边框的是实现类,比如Arra ...

  5. 1、java集合:java集合详解及类关系图

    List和Set继承自Collection接口. Set无序不允许元素重复.HashSet和TreeSet是两个主要的实现类. List有序且允许元素重复,支持null对象.ArrayList.Lin ...

  6. JAVA集合LIST MAP SET详解

    1. 集合框架介绍 我们知道,计算机的优势在于处理大量的数据,在编程开发中,为处理大量的数据,必须具备相应的存储结构,之前学习的数组可以用来存储并处理大量类型相同的数据,但是通过上面的课后练习,会发现 ...

  7. Java笔记:Java集合概述和Set集合

    本文主要是Java集合的概述和Set集合 1.Java集合概述 1)数组可以保存多个对象,但数组长度不可变,一旦在初始化数组时指定了数组长度,这个数组长度就是不可变的,如果需要保存数量变化的数据,数组 ...

  8. java集合系列——List集合之ArrayList介绍(二)

    一:List概述 List是 java.util包下面的类,从<a href="http://blog.csdn.net/u010648555/article/details/5604 ...

  9. Java集合(2)一 ArrayList 与 LinkList

    目录 Java集合(1)一 集合框架 Java集合(2)一 ArrayList 与 LinkList Java集合(3)一 红黑树.TreeMap与TreeSet(上) Java集合(4)一 红黑树. ...

随机推荐

  1. Nested Prefab Mode 嵌套预制体 保存问题 Dirty

    Unity2018.3 Nested Prefab Mode 嵌套预制体 Unity2018.3开始,新增了一个Prefab Mode,俗称嵌套预制体,在Prefab里套Prefab.实际应用中多少会 ...

  2. 【日常记录】【unity3d】 OnTriggerEnter 和 OnCollisionEnter (2D) 的区别

    问题:两个物体A,B 两者都有碰撞体 collider(Box Collider,Sphere Collider,Capsule Collider等)当两物体相撞时,会进入 OnTriggerEnte ...

  3. npm用法及离线安装方法

    npm用法及离线安装方法 基本的用法 查看某个模块的全部信息,或者可以查看单个信息 npm info name npm info name version npm info name homepage ...

  4. webpack的require是如何工作的?

    https://stackoverflow.com/questions/35625593/how-does-webpacks-require-work wepback的require函数调用类似于no ...

  5. inline-flex值的含义

    css中, flex设置在container中,默认情况下占用全部空间,但是如果使用inline-flex值,则container具有inline-block元素的某种特点,只占用需要的宽度

  6. npm私有仓库搭建

    背景 Node.js开发本地项目,有时不同项目之间存在依赖,如果不想把项目发布到npm社区的仓库,则需要有自己本地的仓库. 有些公司采用的是内网开发,很多npm资源无法从内网去下载. sinopia( ...

  7. [TSQL|SQLSERVER|MSSQL数据库] 将数据库文件与日志附加到数据库引擎,以及转移数据库文件位置

    附加: USE [master] GO CREATE DATABASE [database_name] ON ( FILENAME = N'C:\Data\<database name>. ...

  8. CentOS针对磁盘IO[jdb2进程]的优化

    CentOS的jdb2进程总是沾满io,查了一些资料后才知道,这个问题源自系统bug,在此记录一下解决办法: 将高IO的磁盘,用以下参数remount即可 mount -t ext4 -o remou ...

  9. mysqlDOS命令

    MySQL : 1.安装mysql服务:mysqld install 2.删除mysql服务:sc delete mysql 3.启动mysql服务:net start mysql 4.初始化设置密码 ...

  10. zabbix的日常监控-API

    Zabbix API提供两项主要功能: 远程管理Zabbix配置 远程检索配置和历史数据 官方文档:https://www.zabbix.com/documentation/3.4/zh/manual ...