Book Image

Programming Kotlin

Book Image

Programming Kotlin

Overview of this book

Quickly learn the fundamentals of the Kotlin language and see it in action on the web. Easy to follow and covering the full set of programming features, this book will get you fluent in Kotlin for Android.
Table of Contents (20 chapters)
Programming Kotlin
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Customer Feedback
Preface

Type reification


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 on T...