Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: [java] toString

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724

    [java] toString

    con questi metodi è possibile costruire un metodo String toString???

    codice:
    public int getCl(){
        return cl;}
    
    public ArrayList getPr(){
        return pr;}
    perchè devo stamparne il contenuto in una jlist con

    codice:
    public List stampaOrdini(){
         return ordini;}
    
    jListOrdini.setListData(stampaOrdini().toArray());

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    dovresti fornire un po' più dettagli su che informazioni vuoi che vengano visualizzate da toString() sugli oggetti della tua classe.

    Nella tua classe, passi da ArrayList ad un array di Object tramite il metodo toArray() di ArrayList? Con che tipo di oggetti hai caricato il tuo arraylist?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    getCl restituisce un intero, mentre l'arraylist contiene delle stringhe.
    ordini contiene cl pr che sono rispettivamente un intero ed un arraylist

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    ma il metodo stampaOrdini() (che non è applicato a nessun oggetto, quindi sarà un metodo della classe) cosa restituisce? Immagino un ArrayList, dato che a questo oggetto applichi il metodo toArray()... poi una cosa... in che classe vuoi applicare il metodo toString()? Che informazioni ti deve daer questo metodo? E' tutto molto confuso, cerca di spiegarti meglio...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    E' tutto molto confuso, cerca di spiegarti meglio...
    Esatto posta tutto il codice della classe incriminata.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    stampaOrdini mi restituisce una LinkedList che contiene oggetti di tipo Ordini.
    Il metodo toString lo voglio applicare in una classe Frame che contiene l'interfaccia grafica. Dovrebbe restituirmi solo il contenuto dell'ArrayList dell'oggetto Ordini.

    codice:
    public class Ordini {
      private String cl;
      private ArrayList pr;
      
    public Ordini(String cl, ArrayList pr) {
       this.cl=cl;
       this.pr=pr;
      }
    codice:
    private LinkedList ordini=new LinkedList();
    ordine=new Ordini(idCl,ord);
    ordini.add(ordine);

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Allora dovresti implementare il metodo toString in Ordini, che roba carichi in ArrayList pr?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    si io l'ho implementato nella classe ordini ma in toString non mi lascia mettere metodi con tipo diverso da String.
    Carico strighe.

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Il metodo toString() fa parte della classe Object ed ha il seguente prototipo:
    codice:
    public String toString()
    Questo significa che qualsiasi classe voglia sottoporre ad override tale metodo deve attenersi a tale prototipo. Non è possibile, pertanto, far ritornare al metodo toString() un oggetto di tipo diverso da String, a meno che non si aggiungano parametri.

    Se vuoi che il metodo toString() ti restituisca un oggetto di tipo diverso da String, devi modificarne il protoripo aggiungendo almeno un parametro. Ad esempio:
    codice:
    public ArrayList toString(int a) {
       return ...;
    }
    Esso andrà, ovviamente, richiamato passandogli un intero (anche se questo intero non viene di fatto utilizzato dal metodo):
    codice:
    ArrayList al = mioOggetto.toString(0);
    Non è che questo sia un buon modo di procedere, comunque, dato che la semantica di un metodo chiamato toString() è quello di ottenere una String che rappresenta l'oggetto chiamante...

    Continuo, comunque, a non capire cosa vuol dire che il metodo toString() dovrebbe ritornare il contenuto dell'ArrayList dell'oggetto Ordini... fai un esempio del contenuto di ArrayList e di cosa vorresti che questo metodo ritornasse...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    allora...
    Io carico una lista di clienti, una lista di prodotti e poi una lista di ordini. La lista di ordini contine un campo per il codice del cliente e un'altro che è un array contenente tutti i codici dei prodotti per quel cliente...
    toString dovrebbe restituirmi questo elenco di codici contenuti nell'array.
    Poi a far bene poi dovrei far una ricerca per sostituire i codici dei prodotti con i loro nomi...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.