Visualizzazione dei risultati da 1 a 4 su 4

Discussione: variabili d'istanza

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755

    variabili d'istanza

    è possibile istanziare e inserire "i contenuti" dentro un array-variabile d'istanza al momento della creazione?
    esempio,è possibile fare qualcosa del genere:
    codice:
    class Pippo{
    private double [] array=new double [20];
    
    array[0]=0.5;
    array[1]=1.3;
    .....
    .....
    .....
    ......
    }
    io ho provato a fare una cosa del gebere ma mi dà errore
    dovrei dedurre che è una cosa che non si può fare?oppure è una cosa lecita ma fatta da me in modo errato?

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: variabili d'istanza

    Originariamente inviato da zipangulu
    è possibile istanziare e inserire "i contenuti" dentro un array-variabile d'istanza al momento della creazione?
    esempio,è possibile fare qualcosa del genere:
    codice:
    class Pippo{
    private double [] array=new double [20];
    
    array[0]=0.5;
    array[1]=1.3;
    .....
    .....
    .....
    ......
    }
    io ho provato a fare una cosa del gebere ma mi dà errore
    dovrei dedurre che è una cosa che non si può fare?oppure è una cosa lecita ma fatta da me in modo errato?
    codice:
    private double[] array = new double[] {0.1, 0.2, 0.3, ...};
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: variabili d'istanza

    Originariamente inviato da zipangulu
    codice:
    class Pippo{
    private double [] array=new double [20];
    
    array[0]=0.5;
    array[1]=1.3;
    .....
    .....
    .....
    ......
    }
    io ho provato a fare una cosa del gebere ma mi dà errore
    Queste assegnazioni, almeno per come le hai postate, sono nella classe ma fuori dai metodi .... e ovviamente è una sintassi sbagliata/inappropriata. Se le facessi es. in un costruttore o in un instance init-block ... allora ok, è un altro conto.

    Qui ora parlo in generale (non conta se locale, di istanza, ecc...), nella dichiarazione di una variabile di tipo array puoi fornire un "inizializzatore":

    double[] arr = { 1.0, 2.0 };

    Se poi successivamente, in un altro momento, vuoi assegnare un altro array "literal", non puoi più usare un semplice inizializzatore.

    codice:
    ....
    ....
    arr = { 3.0, 4.0 };   // NO!!!!
    Ma devi usare un "anonymous" array.

    codice:
    ....
    ....
    arr = new double[] { 3.0, 4.0 };   // OK
    Ovviamente un anonymous array puoi anche usarlo nella dichiarazione, anche se sarebbe superfluo.

    codice:
    double[] arr = new double[] { 3.0, 4.0 };   // OK, anche se superfluo il new double[]
    Un anonymous array invece è indispensabile quando si vuole passare un array literal "al volo" ad un metodo (o costruttore, ovviamente):

    codice:
    xyz.metodo(new double[] { 1.0, 2.0 });   // Qui un anonymous array serve
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    grazie ad entrambi,perfetto!

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.