Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [JAVA] toString()

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    81

    [JAVA] toString()

    Ragazzi forse vi chiedo troppo...ma non riesco a capire come lavora toString()...
    cioè so che serve per trasformare un oggetto in stringa o un StringBuffer in stringa,insomma ho le idee un po confuse..
    c'è qualcuno che saprebbe spiegarmi come e in quali casi posso adoperarlo??
    magari con un piccolo esempio(se non chiedo troppo...)??

    Grazie

  2. #2
    Utente di HTML.it L'avatar di ziz
    Registrato dal
    Jun 2008
    Messaggi
    52
    Quel che posso dirti è che durante la mia esperienza ToString() è stato il metodo più facile da utilizzare!!
    Serve per convertire in stringa altri formati, quindi ti basta richiamarlo dall'oggetto che vuoi trasformare con la dot notation. Ti faccio un piccolo esempio:

    codice:
    object.ToString();
    Ti riporta l'oggetto in formato stringa. (Puoi supporre che object sia un intero, ad esempio)
    Spero di essere stato chiaro!
    Se hai bisogno di qualche altro chiarimento cercherò di essere un pò più chiaro!
    Fammelo sapere, ciao!!

  3. #3
    Utente di HTML.it L'avatar di ziz
    Registrato dal
    Jun 2008
    Messaggi
    52
    Eventualmente vedi la documentazione ufficiale Java:
    http://java.sun.com/j2se/1.4.2/docs/...g/Integer.html

    A presto, ciao!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    81
    Grazie mille

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    81
    Ascolta però in realtà non si trasforma in stringa..
    Nel senso:
    codice:
    import java.util.*;
    
    public class Nuova {
    
                          public static void main(String args [])
                                  {
    	                  StringTokenizer f=new StringTokenizer("ciao a tutti");
    	                  String a=f.toString();
    	                 System.out.print(a);
                                   }
        
                              }
    questo codice non stampa "ciao a tutti",stampa solo un indirizzo...
    quindi f non si è trasformato in stringa ma solo in un riferimento a una stringa..giusto?
    e alla luce di questo in che modo posso servirmene?

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    30
    Probabilmente i programmatori che hanno scritto il metodo toString di quella classe StringTokenizer hanno deciso che quell'indirizzo è la miglior rappresentazione di quell'oggetto( in formato stringa).
    Il riferimento alla stringa non c'entra niente(anche perchè degli indirizzi in java non te ne fai niente).
    Generalmente comuque il metodo toString() di una classe ritorna sempre una stringa che contiene le informazioni più importanti che caratterizzano l'oggetto.

    Gli utilizzi sono diversi, uno è per esempio per avere una stringa da outputtare che mostri velocemente senza troppi giri informazioni generali sull'oggetto esaminato.

    Comunque ti consiglio di guardare questa documentazione della classe Object dalla quale implicitamente tutte le classi java ereditano.
    http://java.sun.com/javase/6/docs/ap...ng/Object.html

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da maurymg
    Ascolta però in realtà non si trasforma in stringa..

    questo codice non stampa "ciao a tutti",stampa solo un indirizzo...
    L'obiettivo di toString() è quello di fornire una descrizione testuale di un oggetto.

    toString() è un metodo definito in Object, quindi è ereditato da qualunque classe (compresi gli array, che derivano da Object). Il toString() in Object si limita a restituire una stringa formata dal nome della classe, poi un @ poi un valore che è l'hash code dell'oggetto. Non può fare granché altro ... a quel livello, cioè in Object, non è possibile sapere null'altro di particolare o più specifico sull'oggetto.

    In una qualunque sottoclasse di Object è quindi possibile (e consigliato) ridefinire il toString() per fornire una descrizione più consona e accurata dell'oggetto. Quale sia una descrizione più "consona" ovviamente dipende dal significato e dal contenuto della classe!
    Per String ... guarda caso è l'oggetto String stesso, per StringBuffer è un String con il contenuto del buffer, per Integer è la rappresentazione testuale del numero. Per altre classi del framework dipende .... basta leggere la documentazione.

    Per le classi che uno definisce per conto suo, chiaramente si può stabilire quello che si vuole. Esempio: una classe Persona che contiene i campi nome e cognome. Quale può essere una "buona" rappresentazione testuale dell'oggetto? Direi ad esempio una stringa con cognome poi spazio poi nome!

    codice:
    public class Persona {
        private String nome;
        private String cognome;
    
        public Persona (String nome, String cognome) { ..... copia nei campi ..... }
    
        public String toString () {
            return cognome + " " + nome;
        }
    }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.