我将如何定义在Java中的F<T>
和F<T,U>
和F<T,U,V>
接口(代替来自C#的Action
,它们将具有返回void的一个,两个和三个参数的函数)?如何在Java中定义F <T>和F <T,U>和F <T,U,V>接口?
当我尝试将它们创建为嵌套类型时,出现错误说“重复的嵌套类型F”,当我尝试将它们创建为顶级类型时,我必须将F<T>
和F<T,U>
都放置在F. java的。
我可能可以通过将每个F放在单独的包中来解决这个问题,但是我不喜欢这个解决方案,因为我必须定义与我一样多的通用参数。
同样会去实现多种泛型参数的元组类等
代码示例,不工作:
public interface F<T>{
public void f(T arg1);
}
public interface F<T,U>{
public void f(T arg1,U arg2);
}
你能分享一个给出错误的代码的例子吗?我发现很难理解你想要做什么。 – 2013-02-10 18:28:21
难道你不想在方法级别定义泛型类型吗? – assylias 2013-02-10 18:29:34
@DuncanJones @DuncanJones - 看到编辑过的文章 – Axarydax 2013-02-10 18:30:31