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<String> arg);
// compiler error
foo(Optional.absent());
due to type inference failing but instead have to add the type explicitly:
// real method call
foo(Optional.<String> absent());
How can I avoid it?
Just when writing the question, I thought of having
and then the call can look like
Is there a better approach?