Type Parameters and Generics
Generic Pair Fields
Use two type parameters for two related fields.
Generic Pair Fields
GenericPairFields.scala
case class PairBox[A, B](left: A, right: B)
object Main {
def main(args: Array[String]): Unit = {
val label =
val count = 4
val pair = PairBox[String, Int](label, count)
val summary = pair.left + ":" + pair.right
println("left=" + pair.left)
println("right=" + pair.right)
println("summary=" + summary)
}
}
case class PairBox[A, B](left: A, right: B)
object Main {
def main(args: Array[String]): Unit = {
val label =
val count = 4
val pair = PairBox[String, Int](label, count)
val summary = pair.left + ":" + pair.right
println("left=" + pair.left)
println("right=" + pair.right)
println("summary=" + summary)
}
}
case class PairBox[A, B](left: A, right: B)
object Main {
def main(args: Array[String]): Unit = {
val label =
val count = 4
val pair = PairBox[String, Int](label, count)
val summary = pair.left + ":" + pair.right
println("left=" + pair.left)
println("right=" + pair.right)
println("summary=" + summary)
}
}
two-type-parameters
`PairBox[A, B]` can hold values with two different types. The example reads the fields separately and formats a scalar summary.