scala:从java创建元组?

时间:2011-11-22 21:15:40

标签: java scala tuples

我一定错过了一些明显的东西,但是怎么做 你用Java创建一个scala-tuple。

我有一个用java实现的scala接口(现在) 并包括元组的返回,但我该如何实现呢?

2 个答案:

答案 0 :(得分:11)

元组只是Tuple2类的语法糖:

new Tuple2<String, String>("foo", "bar");

将用Java完成这个技巧。

scala> ("foo", "bar")
res0: (java.lang.String, java.lang.String) = (foo,bar)

scala> new Tuple2[String, String]("foo", "bar")
res1: (String, String) = (foo,bar)

scala> ("foo", "bar").getClass.getName
res3: java.lang.String = scala.Tuple2

有类似的Tuple3 ...... Tuple22类。

答案 1 :(得分:7)

使用课程scala.Tuple1scala.Tuple2,...,scala.Tuple22

http://codemonkeyism.com/tuples-scala-goodness/解释得很好:

  

什么是元组?元组是值的容器。在Scala中,您创建了一个元组:

scala> val t = (1,2)
t: (Int, Int) = (1,2)
     

的语法糖
scala> val t = new Tuple2(1,2)
t: (Int, Int) = (1,2)
     

因为元组是Scala库中的普通类。元组的类型为Tuple1Tuple2Tuple3,依此类推。