首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将数组转换为元组?

如何将数组转换为元组?
EN

Stack Overflow用户
提问于 2012-09-25 22:51:17
回答 4查看 36K关注 0票数 27

我有一个来自Java JPA的Array[Any],其中包含(在本例中是两个,但请考虑任何少量的)不同类型的内容。我想将它们表示为元组。

我有一些快速和肮脏的转换代码,我想知道如何改进它,也许使其更通用。

代码语言:javascript
复制
val pair = query.getSingleOrNone // returns Option[Any] (actually a Java array)
pair collect { case array: Array[Any] =>
  (array(0).asInstanceOf[MyClass1], array(1).asInstanceOf[MyClass2]) }
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-09-25 22:58:43

这个怎么样?

代码语言:javascript
复制
val pair = query.getSingleOrNone
pair collect { case Array(x: MyClass1, y: MyClass2, _*) => (x,y) }
// result would be Option[(MyClass1, MyClass2)]
票数 37
EN

Stack Overflow用户

发布于 2015-11-24 07:39:22

使用map { case Array(f1,f2) => (f1,f2) }

下面是一个示例:

代码语言:javascript
复制
Array( "CA:California", "WA:Washington", "OR:Oregon").
  map(s => s.split(":")).
  map { case Array(f1,f2) => (f1,f2)}
票数 23
EN

Stack Overflow用户

发布于 2013-05-23 22:22:15

我的解决方案如下:

代码语言:javascript
复制
val loginValues = line.split(",")  // return an Array

val (ip, date, action, username) = (loginValues(0), loginValues(1).toLong, loginValues(2), loginValues(3))
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12585549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档