
Introduction
L’opérateur “===” en Kotlin est un opérateur important utilisé pour tester l’égalité de référence entre deux objets. Contrairement à l’opérateur “==”, qui teste l’égalité de valeur, l’opérateur “===” teste si deux références pointent vers le même objet en mémoire. Cela signifie que si deux objets ont les mêmes valeurs, mais sont des références différentes à des objets distincts en mémoire, l’opérateur “===” renverra “false”.
L’utilisation de l’opérateur “===” est cruciale dans certains cas où il est nécessaire de savoir si deux objets sont les mêmes, par exemple lors de la comparaison de variables qui pointent vers des objets singuliers tels que des instances de classe unique. Il peut également aider à éviter les erreurs potentielles lors de la comparaison d’objets.
Syntaxe
L’opérateur “===” est utilisé de cette manière :
val obj1 = Object1()
val obj2 = Object2()
if (obj1 === obj2)
{
// Les objets sont les mêmes
} else
{
// Les objets sont différents
}
Utilisation et exemples
L’opérateur “===” peut être utilisé pour tester l’égalité de référence entre deux objets en utilisant la syntaxe ci-dessus. Si les objets sont les mêmes, la condition dans le premier bloc de code sera vraie, sinon elle sera fausse.
Voici un test d’égalité entre deux objets :
class Object
{
var value: Int = 0
}
val obj1 = Object()
val obj2 = obj1
if (obj1 === obj2)
{
println("Les objets sont les mêmes")
} else
{
println("Les objets sont différents")
}
La sortie de ce code sera “Les objets sont les mêmes”, car obj1 et obj2 sont des références vers le même objet.
Test d’égalité entre deux objets de la même classe :
class Object
{
var value: Int = 0
}
val obj1 = Object()
val obj2 = Object()
if (obj1 === obj2)
{
println("Les objets sont les mêmes")
} else
{
println("Les objets sont différents")
}
La sortie de ce code sera “Les objets sont différents”, car obj1 et obj2 sont des références vers des objets différents.
Conclusion
L’opérateur “===” est un outil utile pour tester l’égalité de référence entre deux objets en Kotlin. Il peut être utilisé pour éviter les erreurs potentielles qui pourraient survenir lors de la comparaison d’objets. Il est important de comprendre la différence entre l’égalité de référence et l’égalité de valeur lors de l’utilisation de l’opérateur “===”.