I\'ve made an example to demonstrate my problem:
Metrical.java
public interface Metrical
{
double distance(T other);
}
No there isn't.
You have to remember that someone could call your method with just a vanilla Set, in which case which one would be called?
That's why you can't do it. Just like you can't do:
interface A {
void blah(Set set);
void blah(Set set);
}
Same problem.
The type information isn't available at runtime (ie type erasure).