-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating

Programming Kotlin
By :

A reifiable type is the name given to a type when its type information can be inspected at runtime. Examples of types that are considered reified are non-generic types, such as String
or BigDecimal
. On the JVM, primitives such as boolean or double are also considered to be reified.
A non-reifiable type is one that has suffered the effect of type erasure so that some, or all, of its type information has been lost at runtime. Examples of this are parameterized types, such as List<String>
and List<Boolean>
, which look the same at runtime.
We've seen how erasure removes types at runtime and the issues this can cause. Now we will look at a way that we can work around some of those issues. Kotlin has introduced a feature called type reification that enables type information to be kept at runtime for inline functions.
To use this feature, we add the keyword reified
before the type parameter, as shown in the following snippet. Then we are able to perform operations...