Java/Array: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 7:
 
== Creazione ==
Per dichiarare e inizializzare una variabile di tipo array si usa la seguente sintassi:
<source lang="Java">
byte[] array = new byte[1024];
</source>
 
Questa istruzione può essere separata in due parti:
La variabile deve essere inizializzata come nell'esempio seguente:
<source lang="Java">
byte[] array = new byte[1024];
array = new byte[1024];
</source>
 
In alternativa, si può dichiarare e inizializzare la variabile con una sola istruzione:
<source lang="Java">
byte[] array = new byte[1024];
</source>
 
Line 28 ⟶ 24:
</source>
 
=== Spiegazione ===
 
=== In realtà... ===
''Questo paragrafo è destinato a chi ha già dimestichezza con il concetto di ''reference''. Vedi anche [[Java/Oggetti#Oggetti e reference|Oggetti#Oggetti e reference]].''
 
Line 35 ⟶ 30:
byte[] array;
</source>
QuestaIn realtà, questa riga non alloca alcun array in memoria, ma si limita a dichiarare una variabile che può ''ospitare'' il reference di un array - se e quando ne sarà creato uno. Eccetto che per il tipo, quella dichiarata è una "normale" variabile che non può essere usata se prima non viene inizializzata:
<source lang="Java">
byte[] array;
// array[0] = 5; // non compila
</source>


Ad allocare la memoria provvede l'operatore <tt>new</tt>, che restituisce il ''reference'' dell'array allocato. Ad esempio, la riga seguente dichiara una variabile di tipo ''array di byte'', crea un array di 1024 celle in memoria, e ne inserisce il ''reference'' nella variabile dichiarata:
<source lang="Java">
byte[] array = new byte[1024];
</source>
 
Queste sono tre operazioni distinte ed è possibile separarle:
<source lang="Java">
byte[] array; // dichiarazione variabile
array = new byte[1024]; // alloco array e copio reference
</source>