在我的Scala代碼中,我需要與Java庫進行交互。將scala.List [scala.Long]轉換爲List <java.util.Long>
我想使用的方法需要List<java.util.Long>
類型的參數,但我有斯卡拉類型Option[List[Long]]
。我面臨的問題是,我需要手動應用Predef.long2Long
功能轉換,從斯卡拉Long
到java.util.Long
:
val userIds = Option(List(1,2,3,4))
val methodParameter = userIds.map(list => list.map(long2Long).asJava).orNull
是有一些方法來此列表轉換中更優雅和簡潔的方式?
編輯:我甚至可以簡化問題:如何將Option[scala.Boolean]
轉換爲java.util.Boolean
?這裏我需要做同樣的事情:
isUsed.map(isUsedVal => boolean2Boolean(isUsedVal)).orNull,
在這種情況下,它不會轉換'scala.Int'到'java.util.Int'。它只會將List容器類型從'scala.List'替換爲java'List' – MyTitle