Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [JAVA] toString quando viene invocato?

    Ciao,

    il metodo toString, come ad es.

    codice:
        public String toString()
        {
            return "Il libro sta nel ripiano " + ripiano + " alla posizione " + posizione;
        }
    viene invocato quando viene inizializzato l'oggetto in questione?

    Altra domanda, che mi sa che è troppo banale: all'istruzione del return corrisponde sempre la stampa a video di essa?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da alemagno Visualizza il messaggio
    il metodo toString, come ad es.

    codice:
        public String toString()
        {
            return "Il libro sta nel ripiano " + ripiano + " alla posizione " + posizione;
        }
    viene invocato quando viene inizializzato l'oggetto in questione?
    No. Viene usato spesso, tipicamente, "polimorficamente", cioè da qualche parte c'è un oggetto che è visto genericamente come Object e su questo viene invocato il toString() che è implementato nella classe specifica.

    Se ad esempio usi:

    System.out.println(unLibro); // unLibro di tipo es. Libro

    qui usa il println(Object) che in primo luogo invoca toString() sull'oggetto (presupponiamo che Libro ridefinisca toString() ) per ottenere un testo da stampare.

    Quote Originariamente inviata da alemagno Visualizza il messaggio
    Altra domanda, che mi sa che è troppo banale: all'istruzione del return corrisponde sempre la stampa a video di essa?
    No, non è necessariamente così. toString() restituisce un String e basta ..... dove/per cosa lo si usa è un altro discorso. Certo, il caso tipico è di "stamparlo" da qualche parte (video, file di log, ecc....) ma non è detto che sia sempre così.
    Ultima modifica di andbin; 18-12-2013 a 12:13
    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.