使用实现的 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)
我有一个接收 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)