Un frammento di lezione con un mentore come parte del corso Codegym University. Iscriviti al corso completo.


"Vorrei dirti qualcosa sul confronto delle variabili in Java. "

"Conosci già gli operatori di confronto più semplici: minore di (<) e maggiore di (>)."

"Sì."

"Esistono anche operatori come uguale a (==) e diverso da (!=). Oltre a minore o uguale a (<=) e maggiore o uguale a (>=)."

"Ora questo sta diventando interessante."

"Nota che non ci sono operatori =< o => in Java!"

" Il segno = viene utilizzato per le operazioni di assegnazione. Ecco perché vengono utilizzati due segni di uguale (==) per verificare l'uguaglianza. Per verificare che le variabili non siano uguali , utilizzare l' operatore != ."

"Vedo."

"Quando confrontiamo due variabili in Java usando l'operatore ==, stiamo confrontando il contenuto delle variabili."

"Così, per le variabili primitive , i loro valori vengono confrontati ."

"Per le variabili di riferimento , i riferimenti vengono confrontati . Supponiamo di avere oggetti identici ma distinti. Poiché i riferimenti ad essi sono diversi , un confronto mostrerà che non sono uguali, ovvero il risultato del confronto sarà falso . Un confronto di riferimenti sarà vero solo se entrambi i riferimenti puntano allo stesso oggetto. "

"Per confrontare i contenuti interni degli oggetti, usiamo lo speciale metodo equals . Questo metodo (e tutti i metodi della classe Object) vengono aggiunti alla tua classe dal compilatore anche se non li dichiari. Lascia che ti mostri alcuni esempi: "

Codice Spiegazione
1
int a = 5;
int b = 5;
System.out.println(a == b);
Confronta i tipi primitivi .
true verrà visualizzato sullo schermo.
2
Cat cat1 = new Cat("Oscar");
Cat cat2 = cat1;
System.out.println(cat1 == cat2);
Confronta i riferimenti .
true verrà visualizzato sullo schermo.
Entrambe le variabili memorizzano i riferimenti allo stesso oggetto .
3
String s = new String("Mom");
String s2 = s;
System.out.println(s == s2);
Confronta i riferimenti .
true verrà visualizzato sullo schermo.
Entrambe le variabili memorizzano i riferimenti allo stesso oggetto .
4
Cat cat1 = new Cat("Oscar");
Cat cat2 = new Cat("Oscar");
System.out.println(cat1 == cat2);
Confronta i riferimenti .
false verrà visualizzato sullo schermo.
Le due variabili fanno riferimento a oggetti Cat identici, ma non allo stesso.
5
String s = new String("Mom");
String s2 = new String("Mom");
System.out.println(s == s2);
Confronta i riferimenti .
false verrà visualizzato sullo schermo.
Le due variabili fanno riferimento a oggetti String identici, ma non allo stesso.
6
String s = new String("Mom");
String s2 = new String("Mom");
System.out.println(s.equals(s2));
Confronta oggetti .
true verrà visualizzato sullo schermo.
Le due variabili fanno riferimento a oggetti String identici

"Oh, quasi dimenticavo! Ecco alcuni esercizi per te:"