Оператор
instanceof
- это то, что вы используете в Java, когда хотите проверить, относится ли данный объект к определенному типу.
if(x instanceof String) {
String s = (String) x;
// ...
} else {
// ...
}
Использование таких проверок типов не рекомендуется в ООП.Вы должны скорее попытаться решить вашу проблему, используя полиморфизм подтипа (или наследование, если хотите).(Если вы опишите вашу конкретную проблему, мы можем помочь вам в этом.)
Интересный фактоид: Scala, еще один статически типизированный язык в JVM, имеет следующую конструкцию, которая позволяет вам сопоставлять тип и приведениек этому типу в одном предложении:
x match {
case s: String => ...
case _ => ...
}