The key point is that the sort implementation has no dependence on the type of data that's handled by the Comparable interface and a different Comparable array will be sorted in the same way though eventually, because of the interface mechanism, they call back to the actual compareTo() code that goes with a type of object being sorted. 