Pour les futurs étudiants du cours "Kotlin Backend Developer", nous avons préparé une traduction de matériel utile.
Nous vous invitons également à regarder la leçon ouverte sur le thème "Multiplateforme Kotlin: recto / verso dans une langue".
Il existe trois façons de vérifier l'égalité en langage Kotlin:
La première façon est de comparer des structures (==)
Operator ==
dans Kotlin vous permet de comparer des données contenues dans des variables. Cependant, en Java, cet opérateur est utilisé pour comparer les références de deux variables.
Dans le cas des classes personnalisées, ==
il peut être utilisé pour comparer le contenu des classes de données. Sinon, cet opérateur compare les références.
La deuxième méthode consiste à comparer les liens (===)
Un opérateur ===
dans Kotlin est utilisé pour comparer les références de deux variables. Cependant, dans le cas des primitives, c'est ===
équivalent ==
, c'est-à-dire qu'il vérifie les valeurs.
La troisième voie est la méthode equals
La méthode equals
remplit la même fonction dans Kotlin que ==
.
equals
==
Float
Double
. Float
Double
==
IEEE 754, equals
, equals
, :
NaN ;
NaN , ,
POSITIVE_INFINITY
;
0,0 , 0,0.
, , .
1.
val firstInt = 5
val secondInt = 5
println(firstInt == secondInt) // true
println(firstInt === secondInt) // true
println(firstInt.equals(secondInt)) // true
.
2.
val firstInt = Integer(5)
val secondInt = Integer(5)
println(firstInt == secondInt) // true
println(firstInt === secondInt) // false
println(firstInt.equals(secondInt)) // true
firstInt
secondInt
. (===
) false
. equals
. , true
, 5
.
3.
class Student(val name : String)
val student1 = Student(“Jasmeet”)
val student2 = Student(“Jasmeet”)
println(student1 === student2) // false
println(student1 == student2) // false
println(student1.equals(student2)) // false
println(student1.name === student2.name) // true
println(student1.name == student2.name) // true
println(student1.name.equals(student2.name)) // true
student
, , , . , Java.
, data-.
data class Student(val name : String)
val student1 = Student(“Jasmeet”)
val student2 = Student(“Jasmeet”)
println(student1 === student2) // false
println(student1 == student2) // true
println(student1.equals(student2)) // true
4.
val negativeZero = -0.0f
val positiveZero = 0.0f
println(negativeZero == positiveZero) // true
println(negativeZero.equals(positiveZero)) // false
, ==
IEEE 754. true
. equals
, false
.
: https://kotlinlang.org/docs/reference/equality.html
"Kotlin multiplatform: Front/Back ".