泛型,当方法参数为(List <!-?扩展T)

时间:2018-08-18 10:16:10

标签: java generics syntax-error

调用最大方法时,我在eclipse上遇到错误,说方法maximum (<? extends T>, int, int) in the type generics classname is not applicable for the argument (List<Integer>, int ,int). 我该如何解决此错误

public class Generics_oracle_question {
        public static void main(String args[]) {
            List<Integer>[] integer = new List[5];
            integer[0].add(6);
            integer[1].add(3);
            integer[2].add(9);
            System.out.println(maximum(integer,0,2));
          }
           public static<T extends Comparable> T maximum(List<? extends T> elements,int beg, int end) {
            T max = elements.get(beg);
            for(; beg <= end; beg++) {
                if(max.compareTo(elements.get(beg)) < 0) {
                    max = elements.get(beg);
                }
            }
            return max;
        }
    }

1 个答案:

答案 0 :(得分:2)

问题在于您要将列表数组传递给采用列表的方法。

这是您实例化和填充List<Integer>的方式:

List<Integer> integer = new ArrayList<>();
integer.add(6);
integer.add(3);
integer.add(9);

现在,您的代码将编译并运行,正确返回9(demo)。