Reified Generics
Learn how inline functions and reified types in Kotlin can overcome type erasure limitations and define overloaded functions with different types.
We'll cover the following...
We now know what inline
functions are. Since inline
functions are copied, we can get rid of one of the major JVM limitations: type erasure. After all, inside the function, we know exactly what type we’re getting.
Let’s look at the following example. We would like to create a generic function that will receive a Number
( Number
can either be Int
or Long
), but will only print it if it’s of the same type as the function type.
We’ll start with a naïve implementation, simply trying the instance check ...