allora per le stringhe la classe String si fa il confronto con equals e non con ==.
In generale il confronto == è il confronto per riferimento, se vuoi un comportamento diverso devi ridefinirlo in ogni classe. Considera che queste cose richiedono particolari accorgimenti.
String, visto che è molto usata, fornisce già un'implementazione funzionante di equals, per cui utilizza quella per fare confronti, cioè
Infine dai nomi significativi a quello che usi: se il tuo attributo di istanza si chiama citta cerca di non usare citta come parametro specie quando devi confrontarli: ti trovi a dover scrivere una marea di this che appensantiscono il codice.codice:citta.equals(altrastring);
Prova con
Inserisci un break (che a molti non piace), ma hai il vantaggio di avere un unico punto di uscita (il return ret finale)codice:public boolean risiede(String[] otherCitta){ boolean ret = false; for (int index = 0; index < otherCitta.length; index++){ if (citta.equals(otherCitta[index]) { ret = true; break; } } return ret; }

Rispondi quotando