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!!!