Java Generics: Comparando la clase de Object o con <E>
Digamos que tengo la siguiente clase:
public class Test<E> {
public boolean sameClassAs(Object o) {
// TODO help!
}
}
¿Cómo comprobaría queo
es la misma clase queE
?
Test<String> test = new Test<String>();
test.sameClassAs("a string"); // returns true;
test.sameClassAs(4); // returns false;
No puedo cambiar la firma del método de(Object o)
ya que estoy anulando una superclase y no elijo la firma de mi método.
Prefiero no seguir el camino de intentar un lanzamiento y luego atrapar la excepción resultante si falla.