关于java:< T extends Object&

<T extends Object & E> vs <T extends E>

本问题已经有最佳答案,请猛点这里访问。

在这个大学java.util.collections.max签名看起来像:

public static > T max(Collection collection);

从我的理解,基本上意味着它必须是java.lang.object t a和a java.lang.comparable <?超级T>>,

然而,因为每一个java.lang.comparable是java.lang.object什么是差分对,在上面签名,这下面吗?:

public static > T max(Collection collection);


为了保持二进制兼容性:这里完全描述了它。第二个签名实际上将方法的返回类型更改为Comparable,并且它失去了返回Object的一般性。原始签名保留了两者。