gpt4 book ai didi

java - Java 泛型 super

转载 作者:太空宇宙 更新时间:2023-11-04 07:41:55 26 4
gpt4 key购买 nike

下面代码中的listNum.add(num)有什么问题; (引用-http://docs.oracle.com/javase/tutorial/java/generics/lowerBounded.html)

它给出的编译错误为List 类型中的方法 add(capture#1-of ? super Long) 不适用于参数 (Number)

public class GenericSuper {

List<? super Long> listNum = new LinkedList < Number >();
List<? super ExportException> listExp= new LinkedList<RemoteException>();

public List<? super ExportException> addList()
{
Number num = 10;
listNum.add(num);
RemoteException rme = new RemoteException();
listExp.add(rme);
return rme;
}
}

最佳答案

listNum可能是 List<Long> 的一个实例并且您不能添加 NumberLong 的列表,因为它会抛出类转换异常。

解决方案:

  1. 制作listNum一个List<? super Number>
  2. 制作num一个Long

关于java - Java 泛型 super ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15924770/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com