使用泛型的静态方法的正确使用方法是什么?

fds*_*dsa 0 java generics static-methods extends

我试图制作一个使用泛型的静态方法.

我希望该方法只采用实现可比较的类型的参数.

我试图这样做:

public static <T extends Comparable<T>> ArrayList<T extends Comparable<T>> foo(ArrayList<T extends Comparable<T>> bar)
Run Code Online (Sandbox Code Playgroud)

但它会导致语法错误.

Mak*_*oto 6

您不必重新绑定通用参数.这没有ArrayList参数或参数中的界限可以正常工作:

public static <T extends Comparable<T>> ArrayList<T> foo(ArrayList<T> bar)
Run Code Online (Sandbox Code Playgroud)

这个工作的主要原因是: T已经被定义为在a的范围内Comparable.