Originariamente inviato da Mitttico
codice:
char[] psw = password1.getPassword(); System.out.println(psw.equals(password)); //Stampa false anche se in teoria non tocco nulla
if(psw.equals(password) == false){
No non ci siamo e tra l'altro sono questioni basilari!
Gli array sono oggetti, ma per come sono implementati non ridefiniscono toString() e nemmeno equals(). Restano le implementazioni in Object dove equals() si basa solo sulla "identità" degli oggetti.
codice:
char[] a1 = { 'a', 'b' };
char[] a2 = { 'a', 'b' };
System.out.println(a1.equals(a2)); // SEMPRE false, sono oggetti differenti
Dall'array char[] puoi banalmente ottenere un String usando uno degli appositi costruttori di String oppure puoi usare equals() di java.util.Arrays che compara 2 char[] (chiaramente se hai un String devi ottenerne il char[]).
Fallo nel "verso" che vuoi, ma non come pensavi finora: un_array_char equals una_string o viceversa. Non è utile così.