Ciao

Ho scritto una classe Match che memorizza un riscontro di una parola di un puzzle costituito da una matrice NxM.
Variabili di istanza della classe sono la parola (String), le coordinate riga, colonna del ritrovamento della parola nel puzzle, la direzione di sviluppo (Nord, Est, Sud.....)

Ho scritto il metodo equals che confronta due oggetti Match verificando se hanno parole uguali:

codice:
@Override
	public boolean equals(Object o){
		if(o==this) return true;
		if(o==null) return false;
		if(!(o instanceof Match)) return false;
		Match riscontro = (Match) o;
		return(this.parola.equals(riscontro.parola));
	}
Successivamente mi sono creato una classe astratta che estende un interfaccia di nome Elenco dotata di metodi che "lavorano" su oggetti Match.

Ho concretizzato un metodo di nome public boolean ricercaMatch(String parola) che ricerca appunto un match relativo ad un’assegnata parola (string).
Ho dei dubbi però sull'uso di equals in questo metodo

codice:
@Override
	public boolean ricercaMatch(String parola){
		Iterator<Match> it = this.iterator();
		while(it.hasNext()){
			Match mt = it.next();
			if(mt.getParola().equals(parola))
				return true;
		}
		return false;
	}
Come parametro di equals ho inserito un campo String.
Va bene cosi?
Oppure dovevo inserire come parametro un oggetto Match in accordo a l'equals che ho scritto all'inizio?