Vérifier l'égalité à Kotlin

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 Backend Developer".









"Kotlin multiplatform: Front/Back ".













All Articles