Better Java – Resources for Writing Modern Java
"If you're using Java 8, you can use the excellent new Optional type. If a value may or may not be present, wrap it in an Optional class like this"While I agree with most things, overuse of Optional like this is an antipattern IMO. Having done a lot of Java 8 development, I find Optional is best for return types, but otherwise forcing callers to wrap values in Optional is unnecessary as opposed to something like Scala. Those that work on the JDK feel the same [1][2] and I think [2] is even overuse with the prevalence of static analysis tools and @Nullable.Although a tad dated, I find [3] to be a good guide to modern Java all around.1 - http://stackoverflow.com/questions/26327957/should-java-8-ge...
2 - http://blog.joda.org/2015/08/java-se-8-optional-pragmatic-ap...
3 - http://blog.paralleluniverse.co/2014/05/01/modern-java/