使用实现的 class 调用接口参数方法时出错

Error while calling interface parameter method with implemented class

我有一个接收 2 个参数的方法:接口列表。 当我尝试使用实现该接口的 class 列表调用此方法时出现错误。

输入必须是class类型,不想改成List of interface

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 {...}

我以为这是接口的想法,我想不出哪里不对。要求更改我发送给方法的参数类型的错误。

首先,您的方法不应以大写字母开头(命名约定很重要)。

但是对于您的问题:将方法签名更改为以下内容:

public void handleIo(List<? extends IIo> oldIos, List<? extends IIo> newIos)