コトリンの平等をチェックする

「KotlinBackendDeveloper」コースの将来の学生のために、有用な資料の翻訳



用意しました。また、「Kotlinマルチプラットフォーム:1つの言語でのフロント/バック」というトピックに関するオープンレッスンもご覧ください






Kotlin言語で同等性を確認する方法は3つあります。





最初の方法は、構造を比較することです(==)





==



Kotlinの演算子を使用すると、変数に含まれるデータを比較できます。ただし、Javaでは、この演算子は2つの変数の参照を比較するために使用されます。





カスタムクラスの場合==



、データクラスの内容を比較するために使用できます。それ以外の場合、この演算子は参照を比較します。





2番目の方法はリンクを比較することです(===)





===



Kotlinの演算子は、2つの変数の参照を比較するために使用されます。ただし、プリミティブの場合===



は同等==



です。つまり、値をチェックします。





3番目の方法は方法です equals







このメソッドequals



は、Kotlinでと同じ機能を実行し==



ます。





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