Előadásrészlet egy mentorral a Codegym University tanfolyam részeként. Jelentkezzen a teljes tanfolyamra.


"Szeretnék egy kicsit mesélni a Java változóinak összehasonlításáról. "

"Már ismeri a legegyszerűbb összehasonlító operátorokat – kisebb, mint (<) és nagyobb, mint (>)."

"Igen."

"Vannak olyan operátorok is, mint egyenlő (==) és nem egyenlő (!=). Valamint, kisebb vagy egyenlő, mint (<=) és nagyobb vagy egyenlő, mint (>=)."

– Ez most kezd érdekes lenni.

"Ne feledje, hogy a Java-ban nincsenek =< vagy => operátorok!"

" Az = jelet a hozzárendelési műveletekhez használják. Ezért két egyenlőségjelet (==) használnak az egyenlőség tesztelésére. Annak ellenőrzésére, hogy a változók nem egyenlőek , használja a != operátort."

"Látom."

"Amikor két változót Java-ban hasonlítunk össze az == operátor használatával, a változók tartalmát hasonlítjuk össze."

"Így a primitív változók értékeit összehasonlítják . "

" A referenciaváltozók esetében a hivatkozások összehasonlításra kerülnek . Tegyük fel, hogy azonos, de eltérő objektumaink vannak. Mivel a rájuk való hivatkozások különbözőek , az összehasonlítás megmutatja, hogy nem egyenlők, azaz az összehasonlítás eredménye hamis lesz . A hivatkozások összehasonlítása igaz lesz. csak akkor, ha mindkét hivatkozás ugyanarra az objektumra mutat. "

"Az objektumok belső tartalmának összehasonlításához a speciális egyenlőség metódust használjuk. Ezt a metódust (és az Object osztály összes metódusát) a fordító akkor is hozzáadja az osztályhoz, ha nem deklarálja őket. Hadd mutassak néhány példát: "

Kód Magyarázat
1
int a = 5;
int b = 5;
System.out.println(a == b);
Hasonlítsa össze a primitív típusokat!
igaz jelenik meg a képernyőn.
2
Cat cat1 = new Cat("Oscar");
Cat cat2 = cat1;
System.out.println(cat1 == cat2);
Hasonlítsa össze a referenciákat .
igaz jelenik meg a képernyőn. Mindkét változó ugyanarra az objektumra vonatkozó
hivatkozásokat tárol .
3
String s = new String("Mom");
String s2 = s;
System.out.println(s == s2);
Hasonlítsa össze a referenciákat .
igaz jelenik meg a képernyőn. Mindkét változó ugyanarra az objektumra vonatkozó
hivatkozásokat tárol .
4
Cat cat1 = new Cat("Oscar");
Cat cat2 = new Cat("Oscar");
System.out.println(cat1 == cat2);
Hasonlítsa össze a referenciákat .
false felirat jelenik meg a képernyőn.
A két változó azonos Cat objektumokra hivatkozik, de nem ugyanarra.
5
String s = new String("Mom");
String s2 = new String("Mom");
System.out.println(s == s2);
Hasonlítsa össze a referenciákat .
false felirat jelenik meg a képernyőn.
A két változó azonos String objektumokra hivatkozik, de nem ugyanarra.
6
String s = new String("Mom");
String s2 = new String("Mom");
System.out.println(s.equals(s2));
Hasonlítsa össze az objektumokat .
igaz jelenik meg a képernyőn.
A két változó azonos String objektumokra hivatkozik

"Ó, majdnem elfelejtettem! Íme néhány gyakorlat az Ön számára:"