Parameterized Types

As we’ve seen, not only is extending a class concise in Scala, but it’s also streamlined to alleviate some common programming errors. Generic or parameterized types further help to create classes and functions that can work with multiple different types. The types can be specified at compile time instead of code writing time, making the code more extensible without losing type safety.

Since in Scala you can create stand-alone functions, you can create parameterized functions as well. Let’s create one:

WorkingWithObjects/Parameterized.scala
 
def​ echo[T](input1: T, input2: T) =
 
println(s​"got $input1 (${input1.getClass}) $input2 (${input2.getClass})"​)

Rather than specifying the echo function’s parameter types to be some ...

Get Pragmatic Scala now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.