Generic Interface

Here’s one suggestion:

public interface Service<T,U> {
    T executeService(U... args);
}

public class MyService implements Service<String, Integer> {
    @Override
    public String executeService(Integer... args) {
        // do stuff
        return null;
    }
}

Because of type erasure any class will only be able to implement one of these. This eliminates the redundant method at least.

It’s not an unreasonable interface that you’re proposing but I’m not 100% sure of what value it adds either. You might just want to use the standard Callable interface. It doesn’t support arguments but that part of the interface has the least value (imho).

Leave a Comment