Существуют ли шаблоны, которые похожи на оператор безопасной навигации Groovy ? Это где нулевое значение имеет смысл, и было бы неправильно выдавать исключение NullPointerException.
Кроме проверки на ноль, какие еще варианты? Класс String предоставляет статический метод для разыменования, возможно, нулевых значений, но, похоже, этот шаблон не слишком широко используется, кроме класса Objects . В проекте Google Guava есть класс Необязательный , но для этого требуется, чтобы вызывающая сторона предоставляла значение по умолчанию, которое кажется слишком большим по сравнению с оператором безопасной навигации, и когда вы просто хотели бы, чтобы оно в большинстве случаев было нулевым. Что-то похожее на это:
com.google.common.base.Optional.of(fooBar).
or(org.mockito.Mockito.mock(FooBar.class));
шаблон нулевого объекта или опция монада в Scala - это не то, что я ищу, или предложения о добавлении таких операторов в будущие версии Java, я ищу шаблоны, которые можно применять в Java сейчас.