Ciao ho un problema nella risoluzione di un metodo;ho una classe Autore, Articolo(formato dall'attributo Autore a )Autore ed Conferenza(3 classi distinte);in particolare il punto sta nella classe Confrenza:

codice:
public class Articolo{
    Autore autore;
Articolo(Autore i){
this.autore=i;
}
public Autore getAutore(){
    return autore;
}
public String toString(){
    return " "+autore;
}
}

import java.util.*;
class Conferenza{
String titolo;
Vector<Articolo> articolo;    //vector Contiene Articolo

public Articolo[] articoliDiUnAutore(Autore aut){ //restituisce gli articoli di un singolo autore
Articolo []v=new Articolo[articolo.size()];
for(Articolo a:articolo){
    if(a.getAutore()==(aut)){
        v=articolo.toArray(new Articolo[articolo.size()]);
}

}
return v;
}
public String toString(){
    return " "+" "+articolo;
}
public static void main(String[]args){
    Conferenza a=new Conferenza();
    a.aggiungi(new Articolo("lorem5.txt"));
    a.aggiungi(new Articolo("lorem3.txt"));
    
    System.out.println(a.articoliDiUnAutore(new Autore ("Ultimo Infondo pippo@pippo.com  enteAcaso2")));

}
}
Come faccio ad individuare nel metodo articoliDiUnAutore(Autore aut) gli articoli di un autore se nell'array ho solo oggetti della classe Articoli?Poi perch'è Il compilatore mi stampa numeri e lettere(credo che sia l'hashcodes) e non la stringa risultante?