Der er ingen regler om hvad toString skal aflevere, udover at det jo skal være en streng.
Det bør imidlertid være noget, der er en tekstuel repræsentation af det tilhørende objekt. Har du to attributter, navn og value, som i dit eksempel, kan du aflevere de to i samme String.
Har du en liste af objekter, kan du aflevere alle objekterne, adskilt af komma. Bemærk at du her kun behøver at lave en toString på objekterne, for den har du naturligvis lavet fornufigt.
Men på en liste kan du også vælge blot at aflevere størrelsen, f.eks. \"scorelisten har 17 elementer\".
Det man typisk bruger toString til er til testudskrifter, og så bruger Java det selv til fejludskifter.
Og man behøver slet ikke lave en toString() i en klasse. Har du ikke lavet én, finder Java selv på én, men den tekst der kommer ud af det kan man normalt ikke bruge til ret meget.
Hvis din scoreList et lavet som et array, a, kan du bare gøre
public String toString() { String s=\"\"; for (int i=0;i<max;i++) { s=s+a[i].toString()+\",\"; } return s; }
ok, der kommer et \",\" for meget til sidst. Og det er mere effektivt med StringBuffer - men du ser sikkert princippet.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.