nico_tomb ha scritto:
Ho guardato un po in internet e vorrei sapere come confrontare le stringhe con ciò che digita l'utente per poi svolgere il programma.
I tipi "reference" (stringhe comprese) si possono confrontare usando == ( != ) oppure equals().
Gli operatori == e != con i tipi reference si basano SOLO sulla "identità" degli oggetti, NON sul loro contenuto. Con due variabili reference
a e
b, l'espressione a == b dà true solo se fanno riferimento allo stesso identico oggetto.
Invece equals() (di Object ma è ridefinibile in una sottoclasse) è stato pensato per stabilire se due oggetti sono di significato (contenuto) "equivalente".
Esempio classico ma con Integer (perché è più chiaro):
Integer a = new Integer(123);
Integer b = new Integer(123);
Integer c = a;
a == b è
false (sono oggetti diversi!)
a.equals(b) è
true (sono oggetti diversi ma hanno uguale contenuto, il valore 123)
a == c è
true (fanno riferimento allo stesso identico oggetto)
Se hai compreso questo, come si dice "sei a cavallo"