The compiler will not complain, since TreeSet "s" is a non generic collection , any type is allowed to be inserted. TreeSet sorts its objects while inserting as long they are comparable to each other but since they are not, a ClassCastException is thrown at run time.