Scala将List [Int]转换为java.util.List [java.lang.Integer] [英] Scala convert List[Int] to a java.util.List[java.lang.Integer]
本文介绍了Scala将List [Int]转换为java.util.List [java.lang.Integer]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Scala
中是否可以将List[Int]
转换为java.util.List[java.lang.Integer]
?
Is there a way in Scala
to convert a List[Int]
to java.util.List[java.lang.Integer]
?
我正在与Java(Thrift)接口.
I'm interfacing with Java (Thrift).
JavaConversions
支持List --> java.util.List
,并且Int --> java.lang.Integer
之间存在隐式,但是据我所知,我仍然需要额外的通行证才能手动进行转换:
JavaConversions
supports List --> java.util.List
, and implicits exist between Int --> java.lang.Integer
, but from what I can tell I would still need an extra pass to manually do the conversion:
val y = List(1)
val z: java.util.List[Integer] = asList(y) map { (x: Int) => x : java.lang.Integer }
推荐答案
显然,您需要两次转换.但是,您可以将它们分组为一个隐式转换:
Apparently you need both conversions. However, you can group them in a single implicit conversion:
implicit def toIntegerList( lst: List[Int] ) =
seqAsJavaList( lst.map( i => i:java.lang.Integer ) )
示例:
scala> def sizeOf( lst: java.util.List[java.lang.Integer] ) = lst.size
scala> sizeOf( List(1,2,3) )
res5: Int = 3
这篇关于Scala将List [Int]转换为java.util.List [java.lang.Integer]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文