通用功能作为功能接口?

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
    }
}