No Java 8, eu tenho visto mais e mais artigos sobre o uso do Option / Optional. Entendo o que eles estão tentando representar e vejo muitos exemplos deles sendo usados como retornos. No entanto, o que eu não vejo é que eles estão sendo usados como argumentos de método / função em linguagens que não possuem a sintaxe para parâmetros padrão / opcionais.
Existe alguma razão para não usar Optional
como argumento de método no caso em que você sabe que o argumento é algo que pode ou não ser necessário? Aqui está um exemplo que eu poderia pensar:
Optional<Customer> lookupCustomer(String firstName, Optional<String> middleName, String lastName)
Optional
destina-se principalmente a valores de retorno que podem estar ausentes. Outros usos são possíveis, é claro, mas são pesados e provavelmente são de estilo pobre.