Ho un metodo che accetta un argomento Collection<Foo> foos
, che potrebbe essere NULL. Voglio finire con una copia locale dell'input come ImmutableSet
. In questo momento il mio codice assomiglia a questo:Modo pulito Guava per gestire la raccolta eventualmente-null
if (foos == null)
{
this.foos = ImmutableSet.of();
}
else
{
this.foos = ImmutableSet.copyOf(foos);
}
C'è un modo più pulito per fare questo? Se foos
fosse un parametro semplice, potrei fare qualcosa come Objects.firstNonNull(foos, Optional.of())
ma non sono sicuro che ci sia qualcosa di simile a gestire le raccolte.
+1 E potrebbe valere la pena sottolineare che 'copyOf' è abbastanza intelligente da restituire semplicemente l'input se è un' ImmutableSet'. –
@PaulBellora Io credo che tu l'abbia appena fatto. ':)' –
Anche 'ImmutableSet. di() 'potrebbe essere necessario purtroppo. –