Kotlin Tour




The keyword class is used to declare a class :

class Empty


Classes can have one primary constructor and multiple secondary constructors.

Create a class Person with two properties : firstName and lastName
Create a class Rectange and allow to create easily a square


There is no such thing as a field in a Kotlin class. Instead classes may have properties.

Add a computed property area to the Rectangle class
Create a RandomInt class that can return a new random Int and count the number of Ints generated
Add a factorial property to BigInteger type

Data classes

Using the magic data keyword we can transform a class in a data class having the following code handled for us :

- `equals()`/`hashCode()`
- `toString()`
- `componentN()` functions for each declared property
- `copy()` function
Transform the Person class in a data class and use it to copy a person, changing only his first name

Pair and Triple

Pair and Triple classes are data classes allowing to return a pair or a triple of elements.

Add an identity function to the Person class return the first name and the last name as a pair


Data classes can be destructured :

val (country, city) = Pair("France", "Bordeaux")
val (_, city) = Pair("France", "Bordeaux")       // don't care about country
Add a hello function taking a Person and returning Hello, <firstName> <lastName>, using destructuring


There are two equality operators in Kotlin :

  1. == (and !=) as structural equality (or functional equality)
  2. === (and !==) as referential equality
Define the structural equality for our Rectangle class
Create your playground on
This playground was created on, our hands-on, knowledge-sharing platform for developers.
Go to