通用功能作为功能接口?
Generic function as functional interface?
我有以下函数,其中 returns 一个 List
与它传递的类型相同。
<T> List<T> foo(T bar)
{
...
}
我想拥有同样的功能,只是以 Java Functional Interface 的形式。我尝试了以下方法:
final <T> Function<T, List<T>> foo;
但它不喜欢<T>
。如果我省略 <T>
比如:
final Function<T, List<T>> foo;
它声称找不到类型 T
,与我将原始函数定义为完全相同的错误:
List<T> foo(T bar) // cannot find type 'T'
{
...
}
我想将函数 foo
作为第一个 class 函数。
您将 方法 与 class 混淆了,后者可以作为 实现λ.
如果 T
不是代码上下文中的类型,则您不能键入任何内容。
你可以这样做:
class MyClass<T> implements Function<T, List<T>> {
public List<T> accept(T t) {
// some impl
}
}
我有以下函数,其中 returns 一个 List
与它传递的类型相同。
<T> List<T> foo(T bar)
{
...
}
我想拥有同样的功能,只是以 Java Functional Interface 的形式。我尝试了以下方法:
final <T> Function<T, List<T>> foo;
但它不喜欢<T>
。如果我省略 <T>
比如:
final Function<T, List<T>> foo;
它声称找不到类型 T
,与我将原始函数定义为完全相同的错误:
List<T> foo(T bar) // cannot find type 'T'
{
...
}
我想将函数 foo
作为第一个 class 函数。
您将 方法 与 class 混淆了,后者可以作为 实现λ.
如果 T
不是代码上下文中的类型,则您不能键入任何内容。
你可以这样做:
class MyClass<T> implements Function<T, List<T>> {
public List<T> accept(T t) {
// some impl
}
}