creo que el oficial documentation le da la respuesta a ésta (aunque de una forma bastante inespecífica):
Este método es el equivalente dinámico del lenguaje Java instanceof operador.
Supongo que isInstance()
está destinado principalmente para su uso en el código que trata sobre el tipo de reflexión en tiempo de ejecución. En particular, diría que existe para manejar casos en los que es posible que no sepa de antemano el tipo (s) de clase (s) que desea verificar con anticipación para la membresía (por raros que sean esos casos).
Por ejemplo, puede usarlo para escribir un método que comprueba si dos objetos se escriben de forma arbitraria asignación compatible, como:
public boolean areObjectsAssignable(Object left, Object right) {
return left.getClass().isInstance(right);
}
En general, diría que el uso debe ser instanceof
preferido siempre que conozca el tipo de clase que desea verificar con antelación. En esos raros casos en los que no lo hace, use isInstance()
en su lugar.
Si va a cerrar una pregunta como un duplicado, al menos cite las preguntas anteriores. – user949300