Holds if there is no common (reflexive, transitive) subtype of the erasures
If there is no such common subtype, then the two types are disjoint.
However, the converse is not true; for example, the parameterized types
Collection<String> are disjoint,
but their erasures (
do have common subtypes (such as
For the definition of the notion of erasure see JLS v8, section 4.6 (Type Erasure).
predicate notHaveIntersection ( RefType t1 , RefType t2 )