bene in alcune circostanze, System.out.println
potrebbe gettare un NullPointerException
facendo si pensa che è così che funziona.
Se si dispone di un oggetto complesso in cui è stato creato il proprio metodo toString()
, è possibile che si verifichi l'errore all'interno di tale metodo. Si potrebbe accidentalmente o intenzionalmente codificare in modo tale che l'NPE si verifica. L'oggetto stesso non è nullo, tuttavia alcuni degli attributi interni potrebbero essere nulli.
Tale codifica dovrebbe molto probabilmente essere scoraggiato, anche perché interrompe il contratto come altri hanno sottolineato. Il comportamento desiderato è rappresentare un oggetto nullo come null
e non viene generata NPE.
Utilizza String.valueOf e gestisce null –
Non disferenzia l'oggetto prima di controllarlo 'null'. –
Qualsiasi metodo che prenda un parametro null non dovrebbe lanciare un NPE. Se non ci si aspetta nulla come argomento, si dovrebbe usare UnlegalArgumentExcepion. – Cfx