这两种方法有什么区别?
public <T extends Serializable, Y extends List<T>> void foo(Y y, T t);
Run Code Online (Sandbox Code Playgroud)
和
public void foo(Serializable ser, List<Serializable> list);
Run Code Online (Sandbox Code Playgroud)
可以使用List<String>(例如)作为参数调用第一个.第二个不能,因为a List<String>不是List<Serializable>.
可以使用Integer第一个参数和List<Serializable>第二个参数来调用第二个参数.但是,List<Integer>如果另一个参数是a,则第一个只接受as参数Integer.