Java 中是否有任何标准的通用“回调”或“函数/方法”类型,例如.NETSystem.Action<T>
或System.Func<T,U>
.NET?
在我的具体情况下,我需要一个类来包装一个方法,该方法采用一个(通用)类型参数T
并且不返回任何内容(即void
)。
是的,为自己创建这样一个类/接口很容易,但如果有一个标准库类,我更喜欢它。
Java 中是否有任何标准的通用“回调”或“函数/方法”类型,例如.NETSystem.Action<T>
或System.Func<T,U>
.NET?
在我的具体情况下,我需要一个类来包装一个方法,该方法采用一个(通用)类型参数T
并且不返回任何内容(即void
)。
是的,为自己创建这样一个类/接口很容易,但如果有一个标准库类,我更喜欢它。
我不相信标准库中有这样的东西,没有(在撰写本文时,2010 年)。其他库也有它们——比如 GuiceProvider<T>
和 Guava 的Function<F, T>
,Supplier<T>
还有Predicate<T>
……所以如果你已经在使用库,你可能想看看它们在这个方向上提供了什么。
(编辑:如前所述,那些是返回事物的接口 - 与 . 非常相似Func<T, U>
但不相似Action<T>
。)
Java 标准库不提供任何这样的类。
您可以使用功能性 Java库,它提供的功能fj.F1<T, fj.Unit>
基本上等同System.Action<T>
于 .NET。