Verificando a igualdade em Kotlin

Para os futuros alunos do curso "Kotlin Backend Developer" preparamos uma tradução de um material útil.



Também o convidamos a assistir a aula aberta sobre o tema
"Kotlin multiplataforma: Frente / Verso em um idioma".






Existem três maneiras de verificar a igualdade na linguagem Kotlin:





A primeira maneira é comparar estruturas (==)





O operador ==



no Kotlin permite comparar os dados contidos nas variáveis. No entanto, em Java, esse operador é usado para comparar referências de duas variáveis.





No caso de classes personalizadas, ==



ele pode ser usado para comparar o conteúdo das classes de dados. Caso contrário, este operador compara referências.





A segunda maneira é comparar links (===)





Um operador ===



em Kotlin é usado para comparar referências de duas variáveis. Porém, no caso das primitivas, ===



é equivalente ==



, ou seja, verifica os valores.





A terceira forma é o método equals







Este método equals



executa a mesma função no 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