Buonasera, il seguente metodo fa parte di una classe estesa e deve ritornare una determinata stringa.
Detto questo, non penso di aver ben compreso il funzionamento di StringBuilder....
Quello che ho capito è che :


  • con StringBuilder s =new StringBuilder() ==> creo una nuova stringa s;
  • con s.append cambio la stringa;
  • e alla fine quando dichiaro s.ToString(); ==> mi riferisco al classico ToString() delle API java e non ad un ToString particolare che posso aver implementato in precedenza. perchè questo?


è questo il reale comportamento della classe StringBuilder?

codice:
@Override
    public String getDescrizione(){
        StringBuilder s = new StringBuilder();
        if (!this.getPartita().getGiocatore().getBorsa().hasAttrezzo(this.direzioneChiave)){
            s.append("Qui qualcosa non va, le porte non sono porte");
        }else{
            s.append(super.getNome());
            s.append("\nUscite: ");
            for (String direzione : super.getDirezioni())
                if (direzione!=null){
                    s.append(" " + direzione);    
            }
            s.append("\nAttrezzi nella stanza: ");
            for (Attrezzo attrezzo : this.getAttrezzi()) {
                if (attrezzo != null)    
                    s.append(attrezzo.toString()+" ");
            }
        }
        return s.toString();
    }
Grazie in anticipo e buon primo maggio!!!