Stavo leggendo un articolo collegato a una storia di slashdot e mi sono imbattuto in questo piccolo bocconcino:
Prendi l'ultima versione di Java, che cerca di rendere più facile il controllo del puntatore nullo offrendo una sintassi abbreviata per il test infinito del puntatore. La semplice aggiunta di un punto interrogativo a ciascuna invocazione di metodo include automaticamente un test per i puntatori nulli, sostituendo un ratto di istruzioni if-then, come:
public String getPostcode(Person person) { String ans= null; if (person != null) { Name nm= person.getName(); if (nm!= null) { ans= nm.getPostcode(); } } return ans }Con questo:
public String getFirstName(Person person) { return person?.getName()?.getGivenName(); }
Ho setacciato Internet (okay, ho passato almeno 15 minuti a cercare variazioni su Google su "punto interrogativo java") e non ho ottenuto nulla. Quindi, la mia domanda: c'è qualche documentazione ufficiale su questo? Ho scoperto che C # ha un operatore simile (l'operatore "??"), ma mi piacerebbe ottenere la documentazione per il linguaggio in cui sto lavorando. Oppure questo è solo un uso dell'operatore ternario che ho mai visto prima.
Grazie!
EDIT: Link all'articolo: http://infoworld.com/d/developer-world/12-programming-mistakes-avoid-292