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