Loading...

Kotlin in Hindi – Equality

  • Introduction to kotlin equality in Hindi
  • Kotlin structural equality in Hindi
  • Kotlin referential equality in Hindi

Introduction to Kotlin Equality

कई बार आपको दो variables, दो objects या दो references को compare करने की आवश्यकता होती है। ज्यादातर programming languages में इसके लिए equality operator (==) का प्रयोग किया जाता है।

Equality operator (==) यह check करता है की दो variables, objects या references एक समान है या नहीं। यदि ऐसा है तो true return किया जाता है नहीं तो false return किया जाता है।

Equality operator का एक और variance होता है जिसे not equal (!=) कहा जाता है जो यह check करता है की दो variables, objects या references एक दूसरे के बराबर नहीं है। यदि बराबर नहीं होते है तो true return किया जाता है और यदि बराबर होते है तो false return किया जाता है।

Equality operator का प्रयोग आपने control statements में निश्चित रूप से किया होगा। जिसमें किसी condition को test करके उसके अनुसार statements execute किये जाते है।

आप कोई भी programming language use करें equality operator को variables, objects और references के बीच equality check करने के लिए use किया जाता है। लेकिन kotlin में यह थोड़ा अलग है।

Kotlin में दो प्रकार की equality पायी जाती है। Kotlin में variables को compare करने के लिए अलग equality operator का प्रयोग किया जाता है और objects और उनके references को compare करने के लिए अलग equality operator use किया जाता है। इन्हें kotlin में structural और referential equality कहा जाता है।

Kotlin Structural Equality (==)

Kotlin में दो variables को compare करने के लिए double assignment (==) operator use किया जाता है। इसे kotlin में structural equality operator कहा जाता है। 

जँहा दूसरी programming languages जैसे की Java आदि में इस operator द्वारा variables और references को भी compare किया जाता है वँही kotlin में इसे सिर्फ variables और data को compare करने के लिए किया जाता है। 

Data से यँहा मतलब raw data से है जो की किसी variable में store नहीं किया गया है। उदाहरण के लिए आप 3 और 5 integer numbers को compare करें तो वह data comparison कहलायेगा क्योंकि इन्हें variables में store नहीं किया गया है। 

इस operator का दूसरा variance (!=) check करता है की दो variables समान नहीं है।

Example

fun main(args: Array<String>)
{
    val a: Int = 5
    val b: Int = 5

 

    // Checking structural equality
    if(a==b)
    {
         print(“Both variables are equal”)
    }
}

.equals()

Kotlin में structural equality को equals() function द्वारा भी compare किया जा सकता है। यह function ज्यादातर objects को compare करने के लिए use किया जाता है। 

इस function को एक object के साथ call किया जाता है और दूसरा object इसमें argument के रूप में pass किया जाता है। यह function kotlin में Any class द्वारा implement किया गया है। 

Kotlin में == और equals method को use करने में difference यह है की equals method float और double types के comparison के लिए IEEE 754 Standard for Floating-Point Arithmetic को follow नहीं करता है। 

Null Equality 

यदि आप structural equality operator (==) द्वारा NULL value को compare करते है। ऐसी situation जिसमे दोनों में से कोई भी variable null hold करता है तो ऐसे में उसे automatically referential equality में change कर दिया जाता है और उन दो variables के references को check किया जाता है। 

यदि आप किसी variable को null से compare करने का प्रयास करते है तो भी ऐसा ही होता है। 

Custom Equal Check Implementation

Kotlin में आप अपना स्वयं का भी check mechanism implement कर सकते है। इसके लिए आप Any class में available equals() function को override कर सकते है। इस function को override करने से == या != operators पर कोई असर नहीं होता है। 

Kotlin में equals() function इसीलिए ही provide किया गया है ताकि इसे override किया जा सके। 

Kotlin Referential Equality (===)

Kotlin में दो variables या objects के references को compare करने के लिए triple assignment operator use किया जाता है। इसे kotlin में referential equality operator कहा जाता है। 

Kotlin में यह operator references की समानता को compare करता है। यदि दो references समान होते है तो true return किया जाता है नहीं तो false return किया जाता है। 

इस operator का दूसरा variance (!==) होता है जो की दो references की असमानता को compare करता है। यदि दो references असमान होते है तो true return किया जाता है नहीं तो false return किया जाता है।

Example

class myClass(val n: Int)
{
    val num: Int
 
    int
    {
         num = n
    }
}

 

fun main(args: Array(String)
{
    var obj1 = myClass(5)
    var obj2 = myClass(1)

    obj2 = obj1

    if(obj1===obj2) //Checking referential equality
    {
          print(Both are equal)
    }
}

Previous: Kotlin Annotations
Next: Kotlin This Expression and Type Aliases