Generics — Basics

The basics of generic classes and generic functions, generic constraints, and type erasure

Gabriel Shanahan
The Kotlin Primer

--

— — — — — — — — — — — — — — —

THE CURRENT VERSION OF THIS ARTICLE IS PUBLISHED HERE.

— — — — — — — — — — — — — — —

Tags: #FYI++

This article is part of the Kotlin Primer, an opinionated guide to the Kotlin language, which is indented to help facilitate Kotlin adoption inside Java-centric organizations. It was originally written as an organizational learning resource for Etnetera a.s. and I would like to express my sincere gratitude for their support.

It is recommended to read the Introduction before moving on. Check out the Table of Contents for all articles.

In most languages from the C family, generics are the only available language construct for generating code programmatically. They are a way of telling the compiler “take this block of code (class, interface, function) and create a separate copy for every value of a given type parameter”. Kotlin makes changes to more advanced forms of generic programming (which we’ll talk about in the article on variance) and adds a few features of its own (most importantly reified generic types).

--

--