Comprobando la igualdad en Kotlin

Para los futuros estudiantes del curso "Kotlin Backend Developer", preparamos una traducción de material útil.



También te invitamos a ver la lección abierta sobre el tema
"Multiplataforma de Kotlin: Anverso / reverso en un idioma".






Hay tres formas de verificar la igualdad en el lenguaje Kotlin:





La primera forma es comparar estructuras (==)





El operador ==



en Kotlin le permite comparar datos contenidos en variables. Sin embargo, en Java, este operador se utiliza para comparar referencias de dos variables.





En el caso de las clases personalizadas, ==



se puede utilizar para comparar el contenido de las clases de datos. De lo contrario, este operador compara referencias.





La segunda forma es comparar enlaces (===)





Se ===



utiliza un operador en Kotlin para comparar referencias de dos variables. Sin embargo, en el caso de primitivas, ===



es equivalente ==



, es decir, verifica los valores.





La tercera forma es el método equals







El método equals



realiza la misma función en 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