Originariamente inviato da Freax
ritornando a noi: esiste il tipo NULL? e questo è l'unica alternativa oltre i tipi primitivi e le classi?
null (scritto rigorosamente in minuscolo) è il valore di default per tutte le variabili di tipo "oggetto" (quindi, non primitivo). E' un valore che sta ad indicare che la variabile non è inizializzata o, comunque, non "punta" verso nessun oggetto ed è, di fatto, inutilizzabile.

Tutte le variabili hanno un "valore di default" che dipende dal tipo della variabile. Ciascuna variabilie di uno dei tipi primitivi ha un suo valore di default (significa, che viene assegnato automaticamente se non diversamente specificato dal programmatore). In questo documento sono specificati tutti i valori di default per le variabili di tipo primitivo. Le variabili di tipo "oggetto" hanno per default il valore null.

mi interessa anche l'operatore instanceof, grazie mille per il chiarimento, molto puntuale, se c'è qualcosa da aggiungere vi prego di farlo
L'operatore instanceof permette di capire se il valore di una determinata variabile è di un certo tipo. Funziona solo con le variabiil di tipo "oggetto" (reference, per usare la terminologia tecnica). E' un operatore che richiede due operandi: la variabile su cui effettuare il test ed il nome della classe con cui si desidera effettuare il confronto. L'autoboxing non funziona con l'operatore instanceof (ma stiamo andando decisamente fuori tema, non mi pare il caso di parlare di questa cosa se non sono ben chiare, prima, tutta una serie di altre nozioni).

Esempi di tale operatore se ne trovano ovunque e, sono certo, c'è anche una discussione qui sul forum dove vengono prese in considerazione alcune "problematiche" relative a tale operatore e metodi alternativi per ottenere lo stesso risultato (o risultati più precisi, a seconda dell'esigenza).


Ciao.