This question already has an answer here:
- Java's equivalents of Func and Action 7 answers
Are there any standard generic "callback" or "function/method" types in Java, like System.Action<T>
or System.Func<T,U>
in .NET?
In my concrete case, I need a class that wraps a method that takes one (generic) parameter of type T
and returns nothing (i.e. void
).
Yes, it's easy enough to create such a class/interface for myself, but I'd prefer a standard library class if there is one.
I don't believe there's anything in the standard library like this, no (at the time of writing, 2010). Other libraries have them - things like Guice's
Provider<T>
and Guava'sFunction<F, T>
,Supplier<T>
andPredicate<T>
... so if you're using libraries already, you might want to look into what they provide in this direction.(EDIT: As noted, those are interfaces which return things - so similar to
Func<T, U>
but not similar toAction<T>
.)Java standard library doesn't provide any such classes.
You can use Functional Java library which provides
fj.F1<T, fj.Unit>
which is basically equivalent ofSystem.Action<T>
from .NET.