Одна из проблем с использованием типа Guava Optional
в качестве аргументов методов заключается в том, что вы не можете просто написать
// method declaration
public void foo(Optional<String> arg);
// compiler error
foo(Optional.absent());
из-за ошибки вывода типа, но вместо этого нужно явно указать тип:
// real method call
foo(Optional.<String> absent());
Как я могу избежать этого?