У меня есть вопрос, касающийся Java 8 Optional, целью которого является устранение исключений NullPointerException.
Вопрос в том, почему оба типа позволяют нам выбирать:
Optional.of(T value)     <-----non-null value, null value will throw NPE
Optional.ofNullable(T value)   <----- nullable value
Потому что я ожидаю, когда я использую:
Optional.of(nullValue);
 Не будет выбрасывать NullPointerException.
Расширил мой вопрос после некоторых ответов:
 Почему люди выбирают Optional вместо обычного if-else для проверки на ноль?
