Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    148

    [JAVA] Covertire ArrayList in Array

    Scusate come faccio a convertire un arraylist di nome lista di tipo Elemento in un vettore di tipo Elemento???
    So che esiste il toArray() ma continua a trovarmi un eccezione:

    Elemento[] v = (Elemento[])lista.toArray();


    Grazie per l'aiuto.

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Credo che il cast ad un array specifico sia stato introdotto in java 1.5. Puoi ottenere lo stesso effetto con un ciclo for (oppure cambi piattaforma, se ti è concesso, passa alla versione successiva).

    codice:
    Object[] obj = lista.toArray();
    Elemento[] v = new Elemento[obj.length];
    for (int i=0; i < obj.length; i++) {
      v[i] = (Elemento)obj[i];
    }
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    148
    Io sapevo che c'è qualcosa di molto più veloce che si scrive su una sola riga

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,280
    codice:
    ArrayList<String> list = new ArrayList<String> ();
    
    ....
    
    String[] stringhe = list.toArray (new String[0]);
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    148
    Ho provato se provo a stampare il vettore mi viene fuori questo;

    [Lidraulica.Elemento;@ad3ba4

    anzikè l'elemento (per fare una prova nell' ArrayList ho messo un solo elemento). Forse sbagli nella stampa del vettore? io faccio System.out.println(vettore);

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Non puoi stampare un vettore con System.out.println (ti viene dato il toString generico di Object). Inventati un toString per la classe Elemento e cicla sull'array estratto dall'arraylist
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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.