Java 8 Optionalクラスを使用する場合、オプションで値をラップする方法は2つあります。
String foobar = <value or null>;
Optional.of(foobar);         // May throw NullPointerException
Optional.ofNullable(foobar); // Safe from NullPointerException
をOptional.ofNullable使用する唯一の安全な方法は理解できるが、OptionalなぜOptional.of存在するのか。Optional.ofNullable  常に使用して、常に安全な側にいませんか?
java.util.Optional-あなたはJDK 8以降を使用している場合、それが利用可能です
                ofNullable()という名前of()ととof()命名ofNotNull()