这两个通用方法有什么区别吗?
public static <E> void fill(ArrayList<? extends Comparable<? super E>> a)
public static <E extends Comparable<? super E>> void fill2(ArrayList<E> a)
这两种方法的主要区别在于第二个方法使用了泛型限定符来限制允许传递给方法的参数类型。它要求传递的参数类型必须是可比较的,并且该类型必须实现Comparable接口。而第一个方法则没有这样的限制,可以传递任何类型的ArrayList作为参数。