Ali mi lahko kdo razloži koncept metode toString()
, opredeljene v razredu Object
? Kako se uporablja in kakšen je njen namen?
Iz dokumentacije Object.toString():
vrne nizovno predstavitev objekta.
objekta. Na splošno je toString vrne niz, ki "tekstovno predstavlja" ta objekt. Rezultat mora biti kratek, a informativna predstavitev, ki je ki jo oseba zlahka prebere. To je priporočljivo, da vsi podrazredi prelisičijo to metodo.
Metoda toString za razred Object vrne niz, sestavljen iz ime razreda, katerega predmet je je primerek, znak at `@' in šestnajstiški znak brez znaka predstavitev hash kode razreda objekta. Z drugimi besedami, ta metoda vrne niz, ki je enak vrednosti of:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Primer:
String[] mystr ={"a","b","c"};
System.out.println("mystr.toString: " + mystr.toString());
output:- mystr.toString: [Ljava.lang.String;@13aaa14a
Po želji se lahko uporablja v okviru aplikacije, vendar se veliko pogosteje uporablja za razhroščevanje. Na primer, ko v IDE dosežemo točko prekinitve, je veliko lažje prebrati smiselno toString()
objektov kot pregledati njihove člene.
Za metodo toString()
ni določene zahteve, kaj naj bi počela. Po dogovoru vam bo najpogosteje povedala ime razreda in vrednost ustreznih podatkovnih članov. Metode toString()
se najpogosteje samodejno generirajo v IDE.
Zanašanje na določen izpis metode toString()
ali njeno razčlenjevanje znotraj programa je slaba zamisel. Ne glede na to, kaj boste storili, ne hodite po tej poti.
Poleg tega, kar je cletus odgovoril v zvezi z odpravljanjem napak, se uporablja vedno, ko izpišete objekt, kot na primer pri uporabi
System.out.println(myObject);
ali
System.out.println("text " + myObject);