Scala将List [Int]转换为java.util.List [java.lang.Integer] [英] Scala convert List[Int] to a java.util.List[java.lang.Integer]

查看:134
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆