zoukankan      html  css  js  c++  java
  • 【Scala笔记——术】Scala集合类与Java集合类转化

    scala提供了强大的类型转换功能,从而可以简单的完成java实例向scala实例的转换。下面总结了常用的几种类型转换方式

    import java.lang.{Integer => JInt}
    import java.util.{ArrayList => JArrayList, List => JList}
    
    import scala.collection.JavaConverters._
    
    object ListConversion {
    
        def main(args: Array[String]): Unit = {
            val jList: JArrayList[Int] = new JArrayList[Int]
            jList.add(1)
            jList.add(2)
            jList.add(3)
    
            val list = List[Int](1, 2, 3)
            val jListWrapper = new JArrayList[JInt]
            jListWrapper.add(1)
            jListWrapper.add(2)
            jListWrapper.add(3)
    
            println(jlist2List(jList))
    
            println(list2Jlist(list))
    
            println(jlistWithWrapper2List(jListWrapper))
    
            println(List2jlistWithWrapper(list))
    
        }
    
    
        //Java.List 转换 Scala.List
        def jlist2List(li: JList[Int]): List[Int] = {
            asScalaBuffer(li).toList
        }
    
        //Scala.List转换 Java.List
        def list2Jlist(li: List[Int]): JList[Int] ={
            seqAsJavaList(li)
        }
    
    
        //Java.List[包装类] 转换 Scala.List
        def jlistWithWrapper2List(li: JList[JInt]): List[Int] = {
            asScalaBuffer(li).map(l => l: Int).toList
        }
    
        //Scala.List 转换 Java.List[包装类]
        def List2jlistWithWrapper(li: List[Int]): JList[JInt] = {
            seqAsJavaList( li.map( i => i: JInt))
        }
    }
  • 相关阅读:
    在宏块级冗余可调的多描述视频编码算法方面取得进展(转载)
    C++单例模式
    C++手动实现库函数
    C#操作java平台生成的公钥
    C++之位操作符
    Windows 8 应用栏
    Windows 8 本地数据存储
    Win8的页面缓存
    操作符sizeof
    three.js结合geoJson绘制中国地图
  • 原文地址:https://www.cnblogs.com/cunchen/p/9464094.html
Copyright © 2011-2022 走看看