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 multiplatform: Front/Back ".
