10 sfaturi pentru depășirea metodei toString () în Java (Partea 2)
toString în Java
Vom folosi următoarea clasă pentru a demonstra exemplul nostru toString pentru utilitarele NetStar, Eclipse și Apache ToStringBuilder.
Metoda toString creată de Netbeans IDE
Metoda toString creată de IDE-ul Netbeans creează următoarea ieșire pentru clasa definită mai sus:
Dacă te uiți la ieșire, vei vedea că Netbeans nu creează o dată formatată pentru tine: în schimb se numește metoda toString () din clasa java.util.Date
Metoda toString () creată de ID-ul Rclise
În mod implicit, Eclipse creează următoarea metodă toString:
Puteți crea codul pentru metoda toString în Eclipse făcând clic pe Source -> Generate toString (). De asemenea, oferă mai multe opțiuni, cum ar fi selectarea unui stil de cod, adică folosind un operand de concatenare sau StringBuilder și așa mai departe. Mai jos este rezultatul metodei toString () pe care am creat-o in Eclipse:
Folosind ToStringBuilder pentru a suprascrie metoda Java toString ()
Împreună cu multe clase utile, cum ar fi PropertyUtils. EqualsBuilder sau HashCodeBuilder Apache oferă, de asemenea, un ToStringBuilder care poate genera codul pentru a scoate metoda toString () cu mai multe stiluri diferite. Să vedem cum arată modul de ieșire al metodei toString într-un stil simplu și multi-linie:
Stil simplu:
NO_FIELD_NAMES_STYLE (stil fără nume de câmp)
SHORT_PREFIX_STYLE (stil cu prefix scurt)
ToStringStyle.DEFAULT_STYLE (stil implicit)
O bibliotecă similară deschisă de la Google - Guava oferă, de asemenea, un API convenabil pentru crearea codului metodei toString în Java.
Când metoda de toString este apelată în Java
toString este o metodă destul de specifică și se numește dintr-o varietate de metode JavaAPI, cum ar fi println (), printf (). jurnal, afirmă declarația. depanatoare în IDE, la tipărirea colecțiilor și la concatenare. Dacă subclasa nu suprascrie toString (), atunci se numește implementarea implicită definită în clasa Object. Mulți dezvoltatori folosesc logging-ul Log4J API sau java.util.Logger pentru a ieși din jurnale și, adesea, sări peste Object aici.
și dacă Clientul nu suprascrie pe String și nu emite informații importante, cum ar fi clientId, clientName, etc. va fi destul de dificil de diagnosticat problema. Acesta este motivul pentru care merită întotdeauna să ignorăm toString în Java. Să aruncăm o privire la unele avantaje în cazul în care facem asta.
Beneficiile depășirii metodei toString
- După cum sa menționat mai sus, toString corect înlocuit ajută la depanarea prin afișarea unor informații importante.
- Dacă un obiect important este stocat în colecție, atunci printarea colecției va apela metoda toString a obiectului salvat, care va putea tipări informații importante. Un exemplu clasic al metodei toString, care nu este suprascris, este Array in Java, care imprimă rezultatul implementării în mod implicit, în loc de conținutul matricei. Deși există mai multe moduri de a imprima conținutul unui matrice folosind Arrays.toString (), etc; dar din moment ce array-ul este un obiect Java, ar fi mult mai bine dacă știa cum să se imprime, la fel ca și clasele de colecție, cum ar fi lista sau setul.
Acestea sunt doar câteva dintre beneficiile pe care le veți obține atunci când implementați sau suprascrieți metoda toString în Java. multe alte beneficii pe care le veți obține și veți învăța singuri. Sper că aceste sfaturi vă vor ajuta să profitați la maximum de implementările dvs. la String. Spuneți-ne dacă știți despre câteva modalități unice de a lucra cu toString care vă ajută în aplicațiile Java.