Originariamente inviato da power83
Salve a tutti!!
domanda: ho un thread che è in attesa di un char da tastiera, come faccio a confrontare il char che ricevo con per esempio "s"?
grazie mille
codice:
char carattere = (char) System.in.read();
if(carattere == 's') System.out.println("è uguale");
else System.out.println("è diverso");
in questo caso si usa ' perchè è un _carattere_ da confrontare, inoltre visto che i tipi primitivi come i char sono per valore si può usare l'operatore == per compararlo.
Nel tuo post usi " queste virgolette che si usano per le stringhe.
In Java le stringhe che fungono da tipo di dato incorporato sono oggetti non array di caratteri come in altri linguaggi; essendo però le stringhe in java oggetti e quindi sempre per riferimento l'operatore == serve già a verificare se due oggetti puntano alla stessa istanza, quindi per confrontare devi usare equals() di String o compareTo o altre sue varianti.
esempio:
codice:
String ciao = "ciao";
if(ciao.equals("ciao");
//ecc...
se invece fai
codice:
...
String ciao = "ciao";
String b = ciao;
if(ciao == b)
...//ecc...
guardi se ciao è la stessa istanza rappresentata a b
Vedi se era questo l'errore.