Scala元组将固定数量的项目组合在一起,以便它们可以作为一个整体传递。 与数组或列表不同,元组可以容纳不同类型的对象,但它们也是不可变的。
val t = (1, "hello", Console)
val t = new Tuple3(1, "hello", Console)
元组的实际类型取决于它包含的数量和元素以及这些元素的类型。 因此,(99,"Luftballons")的类型是Tuple2 [Int,String]
元组是类型Tuple1,Tuple2,Tuple3等等。目前在Scala中只能有22个上限,如果您需要更多个元素,那么可以使用集合而不是元组。 对于每个TupleN类型,其中上限为1 <= N <= 22,Scala定义了许多元素访问方法。给定以下定义 -
val t = (4,3,2,1)
要访问元组t的元素,可以使用t._1方法访问第一个元素,t._2方法访问第二个元素
scala> val t2=("test",1)
t2: (String, Int) = (test,1)
scala> t2.getClass
res0: Class[_ <: (String, Int)] = class scala.Tuple2
scala> val t1=("test")
t1: String = test
scala> t1.getClass
res3: Class[_ <: String] = class java.lang.String
scala> val t1=(Tuple1)("test")
t1: (String,) = (test,)
scala> t1.getClass
res8: Class[_ <: (String,)] = class scala.Tuple1