A<T extends I1, I2>
jest rodzajem A
z dwoma parametrami
T
który musi być podtypem I1
I2
Można odczytać to jako „<przyimek> typ T który rozszerza I1 <przyimek> t yp I2" , tak SortedMap<Key extends comparable, Value>
jest «map z analogicznym kluczem typu wpisać wartość»
A<T extends I1 & I2>
jest rodzajem A
z pojedynczym parametrem
T
który musi być podtypem I1
i podtypem I2
Można to odczytać jako "A <przyimek> typ T, która rozciąga I1 i I2" tak SortedSerializableSet<T extends Serializable & Comparable>
można odczytać «a sortowane zestaw elementów typu T, który jest zarówno do serializacji i porównywalne»
dobry połów niezgodność – irreputable