instanceof
If you have an Object you can recover the actual type
of the data stored in it using instanceof.
void main() {
Object o = "123";
if (o instanceof String) {
IO.println("This object is a String!");
}
}
Inside an if you give the name of a field or variable
whose type is Object. Then you write instanceof
followed by the type you want to see if that object
is an instance of.
You can also give a variable name after the type.
This will let you call methods from the actual type that are otherwise
unavailable when all Java knows is that you have an Object.
void main() {
Object o = "123";
if (o instanceof String s) {
IO.println(
"Can call String methods after recovering the type: " + s.charAt(0)
);
}
}