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

    Funzione eval

    Ciao a tutti!

    Premetto che conosco solo i concetti fondamentali di Java...
    Esiste una funzione in Java che abbia gli stessi effetti della eval di ActionScript?
    Qualcosa che permetta di fare questo:

    for(int i = 0; i < 5; i++){
    TipoDato eval("varNumero"+i) = new TipoDato();
    }

    alla fine avrò 5 variabili di tipo TipoDato:
    varNumero1
    VarNumero2
    VarNumero3
    VarNumero4
    VarNumero5

    Se esiste in che libreria sta?

    Grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Mmh, sinceramente non capiso le motivazioni di questa singolare richiesta.
    Se sai gia' quante vaiabili vuoi, non puoi crearle una ad una?
    Oppure se sono tante o se non sai a priori quante saranno, magari usi una struttura dati di tipo List e ci accedi per indice tipo
    codice:
    ArrayList varNumeri = new ArrayList();
    for(int i=0; i<5; i++){
       lista.add(new TipoDato());
    }
    
    //ALTRO CODICE
    
    //Per accedere, ad esempio, alla terza variabile
    varNumero = (TipoDato)lista.get(2);
    Che io sappia, non si puo' fare quello che vuoi tu in java.
    Magari sbaglio, ma non ho mai visto cose del genere in java e non ho mai trovato situazioni che le richiedessero.

  3. #3
    Grazie!

    Sono queste dritte che noi neofiti di Java, abituati agli squallidi ma semplici array del C, non riusciamo neanche a immaginarci!

    Ah, immagino che questa:
    ArrayList varNumeri = new ArrayList();
    Vada corretta con questa:
    ArrayList lista = new ArrayList();

    Se sai gia' quante vaiabili vuoi, non puoi crearle una ad una?
    Sì, ma sarebbe poco elegante oltre che noioso (sono 22 variabili e tutte molto simili!).

    Saluti e grazie ancora!

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Ah, immagino che questa:
    ArrayList varNumeri = new ArrayList();
    Vada corretta con questa:
    ArrayList lista = new ArrayList();
    Si si. Scusa, ma scrivendo di fretta ho avuto un lapsus.

    Puoi anche usare un Vector al posto di un ArrayList o qualsiasi altra struttura dati che preferisci, anche un array.
    codice:
    TipoDato[] lista = new TipoDato[22];
    for(int i=0; i<22; i++) {
       lista[i] = new TipoDato();
    }
    Insomma le possibilita' sono molteplici, se decidi di usare una struttura dati diversa da un array ti consiglio di dare un'occhiata allle api della Sun inerenti la struttura stessa, per familiarizzare con i metodi disponibili.
    Ciao.

  5. #5
    Puoi anche usare un Vector al posto di un ArrayList o qualsiasi altra struttura dati che preferisci, anche un array.
    Già, ma mi è stata fatta una capa tanta sull'usare i potentissimi tipi di dati come ArrayList e compagnia bella che ci devo provare.
    Ne approfitto: a grandi linee qual è la differenza tra Vector e ArrayList? Si riescono a individuare situazioni in cui è chiaramente meglio usare l'una piuttosto che l'altra?


  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    La differenza più grande e' che Vector è una struttura sincronizzata, quindi thread-safe, Arraylist invece no. Se non hai problemi di sincronizzazione(risorsa acceduta in maniera concorrente da più istanze di classi client) usa ArrayList. Per ulteriori chiarimenti sulle differenze puoi leggere un articolo sull'argomento a questo indirizzo.
    L'articolo e' abbastanza breve e ti porta via al max 2 minuti.

  7. #7
    Thanks!

    Bon, tenendo conto che le fork() (o come si chiamano in Java) non dovrei usarle, van bene le ArrayList.

    ..."I hope you weren't looking for an easy answer"

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.