Két objektum mindig egyenlő lesz, ha az Összehasonlító () metódusuk nullát ad vissza?
Két objektum mindig egyenlő lesz, ha az Összehasonlító () metódusuk nullát ad vissza?

Videó: Két objektum mindig egyenlő lesz, ha az Összehasonlító () metódusuk nullát ad vissza?

Videó: Két objektum mindig egyenlő lesz, ha az Összehasonlító () metódusuk nullát ad vissza?
Videó: Введение в iOS, Ред Ши 2024, November
Anonim

Azt van azt ajánlotta összehasonlítani csak visszatér 0, ha egy hívást egyenlő tovább ugyanazok a tárgyak lenne Visszatérés igaz: összehasonlítani (e2) == 0 ugyanaz van logikai érték, mint e1. egyenlő (e2) a C osztály minden e1-ére és e2-ére. Vegye figyelembe, hogy null van nem egy osztály példánya, és e.

Továbbá lehetséges-e, hogy az egyenlők () hamis értéket adnak vissza, még akkor is, ha két objektum tartalma megegyezik?

4 válasz. Java-ban a nyilvános logikai módszer egyenlő ( Tárgy obj) öröklődik a Tárgy . A módszer megvalósítása azonban a Tárgy osztály az, hogy a egyenlő módszer lesz vissza, ha és csak ha az két tárgy összehasonlításra kerülnek a azonos példa.

Következésképpen a kérdés az, hogy miért kell az összehasonlításnak () konzisztensnek lennie az egyenlő () metódussal a Java-ban? Ez azért van így, mert a Map interfész a egyenlő műveletet, de a térkép minden kulcsfontosságú összehasonlítást a segítségével hajt végre összehasonlítani (vagy összehasonlítani) módszer , tehát két kulcsnak minősül egyenlő ezáltal módszer a rendezett térkép szempontjából egyenlő.

Ezt szem előtt tartva, mi a különbség az == egyenlő () és az Összehasonlítás () metódus között?

összehasonlítani : Összehasonlít két karakterláncot lexikográfiailag. egyenlő : Összehasonlítja ezt a karakterláncot a megadott objektummal. összehasonlítani Összehasonlít két karakterláncot karaktereik alapján (ugyanazon indexen), és ennek megfelelően egy egész számot (pozitív vagy negatív) ad vissza. egyenlő () ellenőrzi, hogy két objektum azonos-e vagy sem, és egy logikai értéket ad vissza.

Felülírhatjuk az Összehasonlítás módszert?

Összehasonlításmód felülbírálása Negatív egész számot kell visszaadnia (általában -1), ha az aktuális kiváltó objektum kisebb, mint az átadott egy , és pozitív egész szám (általában +1), ha nagyobb, és 0, ha egyenlő. módszerrel összehasonlítani kivételt kell dobnia, ha az átadott objektum típusa nem kompatibilis vagy null.

Ajánlott: