Only Objects can be popped from, or push onto, a stack. That means Ihave to wrap a primitive data type, such as int, with something akin toInteger before pushing it onto a stack. How can I identify the typeof an object popped from a stack?
Ideally, when you store objects in any type of container, you alreadyknow what their type is, or at least what class they derive from orwhat interface they implement. One of the most useful features ofobject oriented programming languages is polymorphism. Polymorphismallows you to define different behaviors for objects, yet access themin the same way.
For example, the AWT Component paint() method willdraw a component. Yet a List looks different from a Button. If youare writing one of those rare programs where you need to storemultiple objects of undetermined types in a container, you can resortto using the instanceof operator to identify the type of object youare dealing with. For example:
if (obj instanceof Integer) ...
This will tell you if an object is an Integer. The instanceof operator canhave a relatively high overhead if used excessively, so you should tryto structure your programs so as not to require its use.