¿Hay alguna manera de determinar si un objeto es una instancia de un tipo genérico?Prueba si el objeto es instancia de un tipo de parámetro
public <T> test(Object obj) {
if (obj instanceof T) {
...
}
}
Eso claramente no funciona. ¿Hay una alternativa? Me gustaría utilizar la reflexión de Java para crear una instancia de una clase y luego verificar para asegurarse de que sea de tipo genérico T
.
Si no desea obtener 'type' como parámetro de método, tal vez quiera inicializarlo:' Class type = ((T) new Object()). GetClass(); ' – JordiVilaplana
@JordiVilaplana Eso no es correcto , te dará java.lang.Object como clase. Mira esto: http://ideone.com/bxt9Jq –
Uso: = ( clase) ((ParameterizedType) getClass() getGenericSuperclass()). GetActualTypeArguments clase ' tipo() [0];' –