Я хотел бы иметь такой класс функторов:
public class Functor<T, R> {
public R invoke(T a) { ... }
}
И еще один класс для двух аргументов:
public class Functor<T1, T2, R> {
public R invoke(T1 a, T2 b) { ... }
}
И так далее.
В C# я могу написать:
class Functor<T> { ... }
class Functor<T1, T2> { ... }
Но в Java это было бы ошибкой:
The type Functor is already defined
Каковы наилучшие методы для универсальных классов с несколькими аргументами в java?