Ho un Consumer<T>
che mi piacerebbe per convertire in un Function<T, Void>
.C'è un modo standard per convertire un java.util.function, Consumer <T> in un java.util.function.Function <T, Void>
potrei ottenere che utilizzando
public <T> Function<T, Void> consumerToFunction(Consumer<T> consumer)
{
return x -> {
consumer.accept(x);
return null;
};
}
Ma ho il sospetto che qualcosa di simile che esistono potrebbe già nel JDK o forse in una libreria comune.
No, non credo, mi sembra giusto. Detto questo, perché lo vuoi? 'Funzione' s dovrebbe generalmente essere privo di effetti collaterali. –
'consumer :: accept'? EDIT: [nope] (http://ideone.com/NUGYOj), void non può essere convertito in Void. Inoltre, 'Void' e' T' sono nell'ordine sbagliato. – user2357112
Ho un'istanza 'Consumer' e l'API che sto usando richiede una 'Funzione '. La chiamata finisce per restituire il 'R' a me. Non ho bisogno di quel 'R' e posso tranquillamente ignorarlo. –
GuiSim