Я читал статью, связанную из истории slashdot, и наткнулся на этот маленький лакомый кусочек:
Возьмите последнюю версию Java, которая пытается выполнить проверку нулевого указателя проще, предлагая сокращенный синтаксис для бесконечного тестирования указателя. Просто добавление вопросительного знака к каждому методу вызов автоматически включает проверить нулевые указатели, заменив крысиное гнездо if-then-заявлений, такое в виде:
public String getPostcode(Person person) { String ans= null; if (person != null) { Name nm= person.getName(); if (nm!= null) { ans= nm.getPostcode(); } } return ans }
При этом:
public String getFirstName(Person person) { return person?.getName()?.getGivenName(); }
Я просмотрел интернет (хорошо, я потратил не менее 15 минут на поисковые запросы на "java question mark" ) и ничего не получил. Итак, мой вопрос: есть ли официальная документация по этому поводу? Я обнаружил, что у С# есть аналогичный оператор (оператор "??" ), но я хотел бы получить документацию для языка, в котором я работаю. Или это просто использование тернарного оператора, который я никогда не видел раньше.
Спасибо!
EDIT: Ссылка на статью: http://infoworld.com/d/developer-world/12-programming-mistakes-avoid-292