In the case of ? any class could be in there. In the case of Object, only Objects of class Object can be placed in there, you cannot put in any subclasses. So that means you would have to downcast all your subclasses to type Object. Very simplified version, and
you should study it more, but for simply determining what goes in the Vector<?> vs Vector<Object>
Mark