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)
);
}
~}