I'm looking for the inverse of Supplier<T>
in Guava. I hoped it would be called Consumer
– nope – or Sink
– exists, but is for primitive values.
Is it hidden somewhere and I'm missing it?
I'd like to see it for the same kinds of reasons that Supplier
is useful. Admittedly, uses are less common, but many of the static methods of Suppliers
, for example, would apply in an analogous way, and it would be useful to express in one line things like "send this supplier every value in this iterable".
In the meantime, Predicate
and Function<T,Void>
are ugly workarounds.
Your alternatives are:
Consumer
interface which you can compose.Procedures
.Function*
; if a function's return type is Unit
, it is considered a side effect.In all of these languages, you can use functional interfaces conveniently, so you could also use e.g. Functional Java's Effect
.
Otherwise, you better rely on existing language constructs for performing side effects, e.g. the built-in for
loop. Java < 8 inflicts tremendous syntactic overhead when using lambdas. See this question and this discussion.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With