Type Parameters and Generics
Generic Identity Wrapper
Wrap and unwrap a value with the same type parameter.
Generic Identity Wrapper
IdentityGeneric.scala
case class Identity[A](value: A)
object Main {
def main(args: Array[String]): Unit = {
val number =
val wrapped = Identity[Int](number)
val kept = wrapped.value
val label = "kept=" + kept
println("number=" + number)
println(label)
}
}
case class Identity[A](value: A)
object Main {
def main(args: Array[String]): Unit = {
val number =
val wrapped = Identity[Int](number)
val kept = wrapped.value
val label = "kept=" + kept
println("number=" + number)
println(label)
}
}
case class Identity[A](value: A)
object Main {
def main(args: Array[String]): Unit = {
val number =
val wrapped = Identity[Int](number)
val kept = wrapped.value
val label = "kept=" + kept
println("number=" + number)
println(label)
}
}
type-parameter
The `[A]` type parameter lets one definition work with many types. Here `Identity[A]` stores and returns a value without changing its type.