Mam Consumer<T>
, które chciałbym skonwertować do Function<T, Void>
.Czy istnieje standardowy sposób przekonwertować java.util.function, Konsument <T> w java.util.function.Function <T, Void>
mogę to osiągnąć za pomocą
public <T> Function<T, Void> consumerToFunction(Consumer<T> consumer)
{
return x -> {
consumer.accept(x);
return null;
};
}
Ale podejrzewam, że coś takiego może już istnieć w JDK lub być może we wspólnej bibliotece.
Nie, nie sądzę, że wygląda mi dobrze. To powiedziawszy - dlaczego tego chcesz? "Funkcja" powinna być ogólnie wolna od skutków ubocznych. –
'konsument :: zaakceptuj"? EDYCJA: [nope] (http://ideone.com/NUGYOj), void nie można przekształcić w Void. Również 'Void' i' T' są w niewłaściwej kolejności. – user2357112
Mam instancję 'Consumer' a interfejs API, którego używam, wymaga 'funkcji '. Połączenie w końcu zwraca mi "R". Nie potrzebuję tego "R" i mogę go bezpiecznie zignorować. –
GuiSim