method lesson generic example java generics

lesson - java<>



<T extiende Object & E> vs<T extiende E> (1)

Esta pregunta ya tiene una respuesta aquí:

La firma de java.util.Collections.max ve así:

public static <T extiende Object & Comparable <? super T >> T max (Colección colección);

Por lo que entiendo, básicamente significa que T debe ser un java.util.Collections.max y un java.lang.Comparable <? super t >> ,

Sin embargo, dado que cada java.lang.Comparable es también un java.lang.Object , ¿cuál es la diferencia entre la firma anterior y la siguiente? :

public static <T se extiende Comparable <? super T >> T max (Colección colección);


Para preservar la compatibilidad binaria : se describe completamente here . La segunda firma realmente cambia el tipo de retorno del método a Comparable y pierde la generalidad de devolver un Object . La firma original conserva ambos.