我有一个接收2个参数的方法:接口列表。 当我尝试使用实现该接口的类的列表调用此方法时,出现错误。
输入必须是class类型,我不想将其更改为接口列表。
List<Io> oldList;
List<Io> newList;
handleIo(oldList, newList); //Here I get the error
public void handleIo(List<IIo> oldIos, List<IIo> newIos) {...}
public class Io implements IIo {...}
public interface IIo {...}
我认为这是接口的想法,我无法弄清楚什么是错误的。要求更改发送给该方法的参数类型的错误。
答案 0 :(得分:1)
首先,您不应该以大写字母开头(命名约定很重要)。
但是对于您的问题:将方法签名更改为以下内容:
public void handleIo(List<? extends IIo> oldIos, List<? extends IIo> newIos)