java - Is there benefit in a generified interface? -


recently in answer suggested me this:

public interface operation<r extends operationresult, p extends operationparam> {      public r execute(p param); } 

is better this:

public interface operation {      public operationresult execute(operationparam param); } 

i can't see benefit in using first code block on second 1 ...

given both operationresult , operationparam interfaces implementer needs return derived class anyway , seems quite obvious me.

so see reason use first code block on second 1 ?

this way can declare operation implementations return more specific result, e.g.

 class sumoperation implements operation<sumresult, sumparam> 

though whether of value application depends entirely on situation.

update: of course return more specific result without having generic interface, way can restrict input parameters well.


Comments

Popular posts from this blog

python - Scipy curvefit RuntimeError:Optimal parameters not found: Number of calls to function has reached maxfev = 1000 -

c# - How to add a new treeview at the selected node? -

java - netbeans "Please wait - classpath scanning in progress..." -