scala:从java创建元组?

Bjo*_*n J 6 java scala tuples

我一定错过了一些明显的东西,但你如何在Java中创建一个scala-tuple.

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

Mat*_*ell 11

元组只是类Tuple2的语法糖:

new Tuple2<String, String>("foo", "bar");
Run Code Online (Sandbox Code Playgroud)

将在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
Run Code Online (Sandbox Code Playgroud)

有类似的Tuple3 ... Tuple22类.


Mik*_*uel 7

使用类scala.Tuple1,scala.Tuple2..., scala.Tuple22.

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

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

scala> val t = (1,2)
t: (Int, Int) = (1,2)
Run Code Online (Sandbox Code Playgroud)

这是语法糖

scala> val t = new Tuple2(1,2)
t: (Int, Int) = (1,2)
Run Code Online (Sandbox Code Playgroud)

因为元组是Scala库中的普通类.元组是类型Tuple1,Tuple2,Tuple3等等.