我一定错过了一些明显的东西,但是怎么做 你用Java创建一个scala-tuple。
我有一个用java实现的scala接口(现在) 并包括元组的返回,但我该如何实现呢?
答案 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.Tuple1
,scala.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库中的普通类。元组的类型为
Tuple1
,Tuple2
,Tuple3
,依此类推。