.NET Action的 Java 等效项和 Func等
Java 中是否有任何标准的通用“回调”或“函数/方法”类型,例如 .网?
在我的具体情况中,我需要一个类来包装一个方法,该方法采用一个 T
类型的(通用)参数并且不返回任何内容(即 void
)。
是的,为自己创建这样一个类/接口很容易,但我更喜欢标准库类(如果有的话)。
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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不相信标准库中有这样的东西,没有(在撰写本文时,2010 年)。其他库也有它们 - 比如 Guice 的
Provider
和 Guava 的Function
、Supplier
和谓词
...因此,如果您已经在使用库,您可能需要研究它们在这个方向上提供的内容。(编辑:如前所述,这些是返回事物的接口 - 与
Func
非常相似,但不类似于Action
>.)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 标准库不提供任何此类。
您可以使用 Functional Java 库,它提供
fj.F1
这基本上相当于 .NET 中的System.Action
。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.