In altri linguaggi (ad esempio smalltalk), esiste esplicitamente un oggetto nullo.
Le implicazione su come viene implementato l'oggetto nullo hanno ripercussioni su tutto l'ambiente. Le due alternative principali sono se l'oggetto nullo deve generare errori, o se deve consumare in modo silente i messaggi.
Smalltalk ed objective-C hanno fatto scelte diverse:
http://blade.nagaokaut.ac.jp/cgi-bin...uby-talk/17785
La gestione dll'oggetto nullo che esegue le chiamate senza generare errori č specifico design pattern (a livello applicativo). Vantaggio principale del pattern č la semplificazione del codice che non ha pių bisogno di molte validazioni e controlli:
http://en.wikipedia.org/wiki/Null_Object_pattern
Probabilmente la scelta di Java risente del fatto storico di dover supportare dispositivi embedded, richiedendo cosė un implementazione "semplice" e pių di basso livello.