我将如何定义 F<T>
和 F<T,U>
和 F<T,U,V>
Java 中的接口(interface)(代替 C# 中的 Action
,它们将具有一个、两个和三个参数的函数,并在内部返回 void)?
当我尝试将它们创建为嵌套类型时,出现“重复嵌套类型 F”的错误消息,当我尝试将它们创建为顶级类型时,我必须同时放置 F<T>
和 F<T,U>
在 F.java 中。
我可以通过将每个 F 放在单独的包中来解决这个问题,但我不喜欢这种解决方案,因为我必须定义尽可能多的包和我拥有的通用参数。
实现具有多个泛型参数的 Tuple 类也是如此。
代码示例,不工作:
public interface F<T>{
public void f(T arg1);
}
public interface F<T,U>{
public void f(T arg1,U arg2);
}
最佳答案
您不能使用相同的接口(interface)名称。 Java 删除参数化类型。
其他工具包使用 F1
关于java - 如何在 Java 中定义 F<T> 和 F<T,U> 和 F<T,U,V> 接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14801051/