التحقق من المساواة في Kotlin

لطلاب المستقبل في دورة "Kotlin Backend Developer" ، قمنا بإعداد ترجمة لمواد مفيدة.



كما ندعوك لمشاهدة الدرس المفتوح حول موضوع
"Kotlin multiplatform: Front / Back in one language".






هناك ثلاث طرق للتحقق من المساواة في لغة Kotlin:





الطريقة الأولى هي مقارنة الهياكل (==)





==



يسمح لك عامل التشغيل في Kotlin بمقارنة البيانات الموجودة في المتغيرات. ومع ذلك ، في Java ، يتم استخدام هذا العامل لمقارنة مراجع متغيرين.





في حالة الفئات المخصصة ، ==



يمكن استخدامها لمقارنة محتويات فئات البيانات. خلاف ذلك ، يقارن هذا العامل المراجع.





الطريقة الثانية هي مقارنة الروابط (===)





يتم استخدام عامل تشغيل ===



في Kotlin لمقارنة مراجع متغيرين. ومع ذلك ، في حالة الأوليات ، فهو ===



مكافئ ==



، أي أنه يتحقق من القيم.





الطريقة الثالثة هي الطريقة 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