Pregunta

Muchos idiomas tienen una facilidad para verificar si un Objeto es de un tipo determinado (incluidas las subclases principales), implementado con 'es' y utilizado de esta manera:

if(obj is MyType)

O un poco más tediosamente, puede verificar en otros idiomas usando la palabra clave 'as' para hacer un encasillado suave y ver si el resultado es nulo.

No he usado Java en años y estoy volviendo a la velocidad, pero seguramente Java tiene una manera de hacerlo fácilmente sin profundizar en las API de Reflection.

Gracias de antemano por las respuestas. He buscado tanto aquí como en otros lugares, pero las palabras clave involucradas son tan genéricas que, aunque estoy seguro de que esto tiene una respuesta simple, buscar en Google es difícil.

¿Fue útil?

Solución

if (objectReference instanceof type){
    //Your code goes here
}

Más información aquí .

Otros consejos

Solo puede usar instanceof con un literal de clase: es decir:

Class type = String.class;

if (myObj instanceof String) // will compile

if (myObj instanceof type) //will not compile

La alternativa es usar el método Class.isInstance

if (type.isInstance(myObj)) // will compile

obj instanceof TargetType devuelve true en caso de que TargetType esté en la jerarquía de tipos que contiene obj .

Consulte Tutorial de Sun

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top