Lesson 20 - Equals(), clone() and data classes in Kotlin
In the previous lesson, Enumerated types and constants in Kotlin, we went over the enumerated types and
constants in Kotlin. In today's tutorial, we're going to focus on the
equals()
method and introduce object cloning.
The equals() method
The equals()
method is related to comparing objects. We already
know that we use it to compare strings. The ==
operator works for
standard data types, such as Int
or Double
, as we
would expect it to. However, when we try to compare 2 objects using
==
, we'll get true
only if we're comparing 2
references to the same object. If we create a class and 2 different
instances of that class, those are still 2 different objects. Their values are
the same, but the objects are not the same.
...End of the preview...

Premium article
ict.social is a large database made up of manuals and tutorials, whose main goal is to provide high-quality IT education to everyone. We started out in the Czech republic, where we display roughly a million articles per month and receive plenty of gratitude from our users. Thanks to our successful establishment, we are now bringing these articles to the rest of the world.
Although we are trying to keep our content free of charge, maintaining the site is a huge effort for everyone involved. Therefore, some content (exercises and more advanced material) costs network points. Don't worry, they're really cheap :)
Article description
Requested article covers this content:
In this tutorial, we'll override the equals() method so it can compare objects via their internal state. Then we'll explain cloning and data classes.
Buying this article gives you unlimited access to it forever. You will learn some more and help us keep giving our site maintenance which helps you and others get better futures. It's a win-win.
This article is licensed: Premium, by buying this article, you agree with the terms of use.
You gain points by supporting our network. This is done by sending a helpful amount of money to support the site, or by creating content for the network.
You can get points immediately using:
![]() |
![]() |
![]() |
Credit card | SMS | Wire transfer |