Kan noen forklare meg konseptet med toString()
-metoden, definert i Object
-klassen? Hvordan brukes den, og hva er dens formål?
Fra Object.toString()-dokumentene:
Returnerer en strengrepresentasjon av objektet objektet. Generelt returnerer toString metoden returnerer en streng som "tekstlig representerer " dette objektet. Resultatet skal være en kortfattet men informativ representasjon som er lett for en person å lese. Det er anbefales at alle underklasser overstyre denne metoden.
Metoden toString for klassen Object returnerer en streng bestående av navnet på klassen som objektet er en forekomst av. er en forekomst av, at-tegnet tegnet `@', og den usignerte heksadesimale representasjon av hash-koden til objektet. objektet. Med andre ord, denne metoden returnerer en streng lik verdien av:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Eksempel:
String[] mystr ={"a","b","c"};
System.out.println("mystr.toString: " + mystr.toString());
output:- mystr.toString: [Ljava.lang.String;@13aaa14a
Det kan eventuelt ha bruksområder i sammenheng med en applikasjon, men langt oftere brukes det til feilsøkingsformål. For eksempel, når du treffer et breakpoint i en IDE, er det langt enklere å lese en meningsfull toString()
av objekter enn det er å inspisere deres medlemmer.
Det er ingen faste krav til hva en toString()
-metode skal gjøre. Etter konvensjon vil den oftest fortelle deg navnet på klassen og verdien av relevante datamedlemmer. Oftere enn ikke genereres toString()
-metoder automatisk i IDE-er.
Å stole på bestemt utdata fra en toString()
-metode eller analysere den i et program er en dårlig idé. Uansett hva du gjør, ikke gå ned den ruten.