I coded in NetBeans something like this:
public class Grafo<V, E>
{
class Par
{
int a, b;
Par(int a, int b) {
this.a = a;
this.b = b;
}
@Override
public boolean equals(Object ob)
{
if(ob instanceof Par) {
Par p = (Par)ob;
return this.a==p.a && this.b==p.b;
}
return false;
}
}
//stuff...
} //end of class Grafo
The error is in the method equals() from inner class “Par”.
NetBeans says that the error is “illegal generic type of instanceof”. The error is in the line below.
if(ob instanceof Par) {
What is the cause of the error ?
Try
ob instanceof Grafo<?,?>.ParI think that the compiler thinks that
ob instanceof Parinvolves a runtime check on generic type parameters; i.e. that it is equivalent toob instanceof Grafo<V,E>.Par. Butinstanceoftests cannot check generic type parameters.