One problem with using Guava\'s Optional
type as arguments of methods is that you can\'t simply write
// method declaration
public void foo(Optional
If you are dealing with a small set of Optional<>
types (e.g., mostly strings or a handful of other types), just create some helper methods that bind the type argument for you:
public final class AbsentValues {
public static Optional absentString() {
return Optional.absent();
}
}
You can even import these statically to result in cleaner code:
import static AbsentValues.*;
...
foo(absentString());
For less common Optional<>
types, just specify the type argument explicitly. It may not be pretty, but it's correct.