= Solution
The inference is false in both directions. Although `String` is a subtype of `Object`, <generic type invariance> means that neither `Vector<String>` nor `Vector<Object>` is a subtype of the other. If a string vector could be used as an object vector, an arbitrary object could be inserted into storage promised to contain strings. Conversely, an object vector may already contain an `Integer`, so it cannot satisfy the contract of a string vector.
Both parameterizations are subtypes of the ordinary class `Object`, but this does not create a subtype relation between their element parameterizations. For a view accepting vectors with different element types, `Vector<?>` is appropriate; a `Vector<? extends Object>` similarly allows retrieval as `Object` without arbitrary non-null insertion. A `Vector<? super String>` accepts insertion of strings but does not promise that retrieved elements are strings. \b[The stated subclass relationship does not hold: mutable generic vectors are invariant.]
Back to article page