لطلاب المستقبل في دورة "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 multiplatform: Front/Back ".